{
    "summary": {
        "snap": {
            "added": [],
            "removed": [],
            "diff": []
        },
        "deb": {
            "added": [
                "linux-headers-5.4.0-1127-kvm",
                "linux-image-5.4.0-1127-kvm",
                "linux-kvm-headers-5.4.0-1127",
                "linux-modules-5.4.0-1127-kvm"
            ],
            "removed": [
                "linux-headers-5.4.0-1126-kvm",
                "linux-image-5.4.0-1126-kvm",
                "linux-kvm-headers-5.4.0-1126",
                "linux-modules-5.4.0-1126-kvm"
            ],
            "diff": [
                "cloud-init",
                "libcap2",
                "libcap2-bin",
                "libpam-cap",
                "linux-headers-kvm",
                "linux-image-kvm",
                "linux-kvm",
                "open-iscsi",
                "pollinate"
            ]
        }
    },
    "diff": {
        "deb": [
            {
                "name": "cloud-init",
                "from_version": {
                    "source_package_name": "cloud-init",
                    "source_package_version": "24.4-0ubuntu1~20.04.1",
                    "version": "24.4-0ubuntu1~20.04.1"
                },
                "to_version": {
                    "source_package_name": "cloud-init",
                    "source_package_version": "24.4.1-0ubuntu0~20.04.1",
                    "version": "24.4.1-0ubuntu0~20.04.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2097319,
                    2094149,
                    2097441,
                    2094179,
                    2094208,
                    2094857,
                    2094858
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Add d/p/cpick-84806336-chore-Add-feature-flag-for-manual-network-waiting",
                            "    - Pull in the upstream commit that makes it easier to patch out the",
                            "      new systemd-networkd-wait-online behavior in e30549e8",
                            "  * Add d/p/cpick-b817a679-fix-retry-AWS-hotplug-for-async-IMDS.patch",
                            "    - Pull in the upstream commit works around a limitation in AWS's IMDS",
                            "      (GH-5971) (LP: #2097319)",
                            "  * Add d/p/no-remove-networkd-online.patch",
                            "    - Revert breaking change on stable release (LP: #2094149)",
                            "  * Update d/p/no-single-process.patch",
                            "    - This patch missed waiting for mounts (LP: #2097441)",
                            "  * refresh patches:",
                            "    - d/p/cli-retain-file-argument-as-main-cmd-arg.patch",
                            "    - d/p/revert-551f560d-cloud-config-after-snap-seeding.patch",
                            "    - d/p/drop-unsupported-systemd-condition-environment.patch",
                            "  * Upstream snapshot based on 24.4.1.",
                            "    List of changes from upstream can be found at",
                            "    https://raw.githubusercontent.com/canonical/cloud-init/24.4.1/ChangeLog",
                            "    (LP: #2094179, #2094208, #2094857, #2094858)",
                            ""
                        ],
                        "package": "cloud-init",
                        "version": "24.4.1-0ubuntu0~20.04.1",
                        "urgency": "medium",
                        "distributions": "focal",
                        "launchpad_bugs_fixed": [
                            2097319,
                            2094149,
                            2097441,
                            2094179,
                            2094208,
                            2094857,
                            2094858
                        ],
                        "author": "Brett Holman <brett.holman@canonical.com>",
                        "date": "Tue, 04 Feb 2025 17:28:31 -0700"
                    }
                ],
                "notes": null
            },
            {
                "name": "libcap2",
                "from_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.32-1ubuntu0.1",
                    "version": "1:2.32-1ubuntu0.1"
                },
                "to_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.32-1ubuntu0.2",
                    "version": "1:2.32-1ubuntu0.2"
                },
                "cves": [
                    {
                        "cve": "CVE-2025-1390",
                        "url": "https://ubuntu.com/security/CVE-2025-1390",
                        "cve_description": "The PAM module pam_cap.so of libcap configuration supports group names starting with “@”, during actual parsing, configurations not starting with “@” are incorrectly recognized as group names. This may result in nonintended users being granted an inherited capability set, potentially leading to security risks. Attackers can exploit this vulnerability to achieve local privilege escalation on systems where /etc/security/capability.conf is used to configure user inherited privileges by constructing specific usernames.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-02-18 03:15:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2025-1390",
                                "url": "https://ubuntu.com/security/CVE-2025-1390",
                                "cve_description": "The PAM module pam_cap.so of libcap configuration supports group names starting with “@”, during actual parsing, configurations not starting with “@” are incorrectly recognized as group names. This may result in nonintended users being granted an inherited capability set, potentially leading to security risks. Attackers can exploit this vulnerability to achieve local privilege escalation on systems where /etc/security/capability.conf is used to configure user inherited privileges by constructing specific usernames.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-02-18 03:15:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: incorrect group name handling",
                            "    - debian/patches/CVE-2025-1390-1.patch: fix potential configuration",
                            "      parsing error in pam_cap/pam_cap.c.",
                            "    - debian/patches/CVE-2025-1390-2.patch: add a test for bad group prefix",
                            "      in pam_cap/sudotest.conf.",
                            "    - CVE-2025-1390",
                            ""
                        ],
                        "package": "libcap2",
                        "version": "1:2.32-1ubuntu0.2",
                        "urgency": "medium",
                        "distributions": "focal-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Thu, 20 Feb 2025 11:01:08 -0500"
                    }
                ],
                "notes": null
            },
            {
                "name": "libcap2-bin",
                "from_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.32-1ubuntu0.1",
                    "version": "1:2.32-1ubuntu0.1"
                },
                "to_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.32-1ubuntu0.2",
                    "version": "1:2.32-1ubuntu0.2"
                },
                "cves": [
                    {
                        "cve": "CVE-2025-1390",
                        "url": "https://ubuntu.com/security/CVE-2025-1390",
                        "cve_description": "The PAM module pam_cap.so of libcap configuration supports group names starting with “@”, during actual parsing, configurations not starting with “@” are incorrectly recognized as group names. This may result in nonintended users being granted an inherited capability set, potentially leading to security risks. Attackers can exploit this vulnerability to achieve local privilege escalation on systems where /etc/security/capability.conf is used to configure user inherited privileges by constructing specific usernames.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-02-18 03:15:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2025-1390",
                                "url": "https://ubuntu.com/security/CVE-2025-1390",
                                "cve_description": "The PAM module pam_cap.so of libcap configuration supports group names starting with “@”, during actual parsing, configurations not starting with “@” are incorrectly recognized as group names. This may result in nonintended users being granted an inherited capability set, potentially leading to security risks. Attackers can exploit this vulnerability to achieve local privilege escalation on systems where /etc/security/capability.conf is used to configure user inherited privileges by constructing specific usernames.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-02-18 03:15:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: incorrect group name handling",
                            "    - debian/patches/CVE-2025-1390-1.patch: fix potential configuration",
                            "      parsing error in pam_cap/pam_cap.c.",
                            "    - debian/patches/CVE-2025-1390-2.patch: add a test for bad group prefix",
                            "      in pam_cap/sudotest.conf.",
                            "    - CVE-2025-1390",
                            ""
                        ],
                        "package": "libcap2",
                        "version": "1:2.32-1ubuntu0.2",
                        "urgency": "medium",
                        "distributions": "focal-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Thu, 20 Feb 2025 11:01:08 -0500"
                    }
                ],
                "notes": null
            },
            {
                "name": "libpam-cap",
                "from_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.32-1ubuntu0.1",
                    "version": "1:2.32-1ubuntu0.1"
                },
                "to_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.32-1ubuntu0.2",
                    "version": "1:2.32-1ubuntu0.2"
                },
                "cves": [
                    {
                        "cve": "CVE-2025-1390",
                        "url": "https://ubuntu.com/security/CVE-2025-1390",
                        "cve_description": "The PAM module pam_cap.so of libcap configuration supports group names starting with “@”, during actual parsing, configurations not starting with “@” are incorrectly recognized as group names. This may result in nonintended users being granted an inherited capability set, potentially leading to security risks. Attackers can exploit this vulnerability to achieve local privilege escalation on systems where /etc/security/capability.conf is used to configure user inherited privileges by constructing specific usernames.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-02-18 03:15:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2025-1390",
                                "url": "https://ubuntu.com/security/CVE-2025-1390",
                                "cve_description": "The PAM module pam_cap.so of libcap configuration supports group names starting with “@”, during actual parsing, configurations not starting with “@” are incorrectly recognized as group names. This may result in nonintended users being granted an inherited capability set, potentially leading to security risks. Attackers can exploit this vulnerability to achieve local privilege escalation on systems where /etc/security/capability.conf is used to configure user inherited privileges by constructing specific usernames.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-02-18 03:15:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: incorrect group name handling",
                            "    - debian/patches/CVE-2025-1390-1.patch: fix potential configuration",
                            "      parsing error in pam_cap/pam_cap.c.",
                            "    - debian/patches/CVE-2025-1390-2.patch: add a test for bad group prefix",
                            "      in pam_cap/sudotest.conf.",
                            "    - CVE-2025-1390",
                            ""
                        ],
                        "package": "libcap2",
                        "version": "1:2.32-1ubuntu0.2",
                        "urgency": "medium",
                        "distributions": "focal-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Thu, 20 Feb 2025 11:01:08 -0500"
                    }
                ],
                "notes": null
            },
            {
                "name": "linux-headers-kvm",
                "from_version": {
                    "source_package_name": "linux-meta-kvm",
                    "source_package_version": "5.4.0.1126.122",
                    "version": "5.4.0.1126.122"
                },
                "to_version": {
                    "source_package_name": "linux-meta-kvm",
                    "source_package_version": "5.4.0.1127.123",
                    "version": "5.4.0.1127.123"
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Bump ABI 5.4.0-1127",
                            ""
                        ],
                        "package": "linux-meta-kvm",
                        "version": "5.4.0.1127.123",
                        "urgency": "medium",
                        "distributions": "focal",
                        "launchpad_bugs_fixed": [],
                        "author": "Guoqing Jiang <guoqing.jiang@canonical.com>",
                        "date": "Fri, 24 Jan 2025 11:24:51 +0800"
                    }
                ],
                "notes": null
            },
            {
                "name": "linux-image-kvm",
                "from_version": {
                    "source_package_name": "linux-meta-kvm",
                    "source_package_version": "5.4.0.1126.122",
                    "version": "5.4.0.1126.122"
                },
                "to_version": {
                    "source_package_name": "linux-meta-kvm",
                    "source_package_version": "5.4.0.1127.123",
                    "version": "5.4.0.1127.123"
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Bump ABI 5.4.0-1127",
                            ""
                        ],
                        "package": "linux-meta-kvm",
                        "version": "5.4.0.1127.123",
                        "urgency": "medium",
                        "distributions": "focal",
                        "launchpad_bugs_fixed": [],
                        "author": "Guoqing Jiang <guoqing.jiang@canonical.com>",
                        "date": "Fri, 24 Jan 2025 11:24:51 +0800"
                    }
                ],
                "notes": null
            },
            {
                "name": "linux-kvm",
                "from_version": {
                    "source_package_name": "linux-meta-kvm",
                    "source_package_version": "5.4.0.1126.122",
                    "version": "5.4.0.1126.122"
                },
                "to_version": {
                    "source_package_name": "linux-meta-kvm",
                    "source_package_version": "5.4.0.1127.123",
                    "version": "5.4.0.1127.123"
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Bump ABI 5.4.0-1127",
                            ""
                        ],
                        "package": "linux-meta-kvm",
                        "version": "5.4.0.1127.123",
                        "urgency": "medium",
                        "distributions": "focal",
                        "launchpad_bugs_fixed": [],
                        "author": "Guoqing Jiang <guoqing.jiang@canonical.com>",
                        "date": "Fri, 24 Jan 2025 11:24:51 +0800"
                    }
                ],
                "notes": null
            },
            {
                "name": "open-iscsi",
                "from_version": {
                    "source_package_name": "open-iscsi",
                    "source_package_version": "2.0.874-7.1ubuntu6.4",
                    "version": "2.0.874-7.1ubuntu6.4"
                },
                "to_version": {
                    "source_package_name": "open-iscsi",
                    "source_package_version": "2.0.874-7.1ubuntu6.5",
                    "version": "2.0.874-7.1ubuntu6.5"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2097808
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * IPv6 support for iBFT iSCSI boot (LP: #2097808)",
                            "    - d/p/lp2097808-0001-Add-in-tracking-IP-prefix-length-in-addition-to-mask.patch",
                            "    - d/p/lp2097808-0002-IPv6-support-for-iBFT-iSCSI-boot-493.patch",
                            ""
                        ],
                        "package": "open-iscsi",
                        "version": "2.0.874-7.1ubuntu6.5",
                        "urgency": "medium",
                        "distributions": "focal",
                        "launchpad_bugs_fixed": [
                            2097808
                        ],
                        "author": "Chengen Du <chengen.du@canonical.com>",
                        "date": "Tue, 11 Feb 2025 02:46:38 +0000"
                    }
                ],
                "notes": null
            },
            {
                "name": "pollinate",
                "from_version": {
                    "source_package_name": "pollinate",
                    "source_package_version": "4.33-3ubuntu1.20.04.1",
                    "version": "4.33-3ubuntu1.20.04.1"
                },
                "to_version": {
                    "source_package_name": "pollinate",
                    "source_package_version": "4.33-3ubuntu1.20.04.2",
                    "version": "4.33-3ubuntu1.20.04.2"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2097596
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Relicensing check_pollen (LP: #2097596)",
                            "    - d/p/check-pollen-to-pollinate.patch: update to match latest upstream",
                            "    - d/copyright: drop AGPL stanza",
                            ""
                        ],
                        "package": "pollinate",
                        "version": "4.33-3ubuntu1.20.04.2",
                        "urgency": "medium",
                        "distributions": "focal",
                        "launchpad_bugs_fixed": [
                            2097596
                        ],
                        "author": "Christian Ehrhardt <christian.ehrhardt@canonical.com>",
                        "date": "Fri, 07 Feb 2025 09:20:14 +0100"
                    }
                ],
                "notes": null
            }
        ],
        "snap": []
    },
    "added": {
        "deb": [
            {
                "name": "linux-headers-5.4.0-1127-kvm",
                "from_version": {
                    "source_package_name": "linux-kvm",
                    "source_package_version": "5.4.0-1126.134",
                    "version": null
                },
                "to_version": {
                    "source_package_name": "linux-kvm",
                    "source_package_version": "5.4.0-1127.136",
                    "version": "5.4.0-1127.136"
                },
                "cves": [
                    {
                        "cve": "CVE-2024-43863",
                        "url": "https://ubuntu.com/security/CVE-2024-43863",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/vmwgfx: Fix a deadlock in dma buf fence polling  Introduce a version of the fence ops that on release doesn't remove the fence from the pending list, and thus doesn't require a lock to fix poll->fence wait->fence unref deadlocks.  vmwgfx overwrites the wait callback to iterate over the list of all fences and update their status, to do that it holds a lock to prevent the list modifcations from other threads. The fence destroy callback both deletes the fence and removes it from the list of pending fences, for which it holds a lock.  dma buf polling cb unrefs a fence after it's been signaled: so the poll calls the wait, which signals the fences, which are being destroyed. The destruction tries to acquire the lock on the pending fences list which it can never get because it's held by the wait from which it was called.  Old bug, but not a lot of userspace apps were using dma-buf polling interfaces. Fix those, in particular this fixes KDE stalls/deadlock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-08-21 00:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-40911",
                        "url": "https://ubuntu.com/security/CVE-2024-40911",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: cfg80211: Lock wiphy in cfg80211_get_station  Wiphy should be locked before calling rdev_get_station() (see lockdep assert in ieee80211_get_station()).  This fixes the following kernel NULL dereference:   Unable to handle kernel NULL pointer dereference at virtual address 0000000000000050  Mem abort info:    ESR = 0x0000000096000006    EC = 0x25: DABT (current EL), IL = 32 bits    SET = 0, FnV = 0    EA = 0, S1PTW = 0    FSC = 0x06: level 2 translation fault  Data abort info:    ISV = 0, ISS = 0x00000006    CM = 0, WnR = 0  user pgtable: 4k pages, 48-bit VAs, pgdp=0000000003001000  [0000000000000050] pgd=0800000002dca003, p4d=0800000002dca003, pud=08000000028e9003, pmd=0000000000000000  Internal error: Oops: 0000000096000006 [#1] SMP  Modules linked in: netconsole dwc3_meson_g12a dwc3_of_simple dwc3 ip_gre gre ath10k_pci ath10k_core ath9k ath9k_common ath9k_hw ath  CPU: 0 PID: 1091 Comm: kworker/u8:0 Not tainted 6.4.0-02144-g565f9a3a7911-dirty #705  Hardware name: RPT (r1) (DT)  Workqueue: bat_events batadv_v_elp_throughput_metric_update  pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)  pc : ath10k_sta_statistics+0x10/0x2dc [ath10k_core]  lr : sta_set_sinfo+0xcc/0xbd4  sp : ffff000007b43ad0  x29: ffff000007b43ad0 x28: ffff0000071fa900 x27: ffff00000294ca98  x26: ffff000006830880 x25: ffff000006830880 x24: ffff00000294c000  x23: 0000000000000001 x22: ffff000007b43c90 x21: ffff800008898acc  x20: ffff00000294c6e8 x19: ffff000007b43c90 x18: 0000000000000000  x17: 445946354d552d78 x16: 62661f7200000000 x15: 57464f445946354d  x14: 0000000000000000 x13: 00000000000000e3 x12: d5f0acbcebea978e  x11: 00000000000000e3 x10: 000000010048fe41 x9 : 0000000000000000  x8 : ffff000007b43d90 x7 : 000000007a1e2125 x6 : 0000000000000000  x5 : ffff0000024e0900 x4 : ffff800000a0250c x3 : ffff000007b43c90  x2 : ffff00000294ca98 x1 : ffff000006831920 x0 : 0000000000000000  Call trace:   ath10k_sta_statistics+0x10/0x2dc [ath10k_core]   sta_set_sinfo+0xcc/0xbd4   ieee80211_get_station+0x2c/0x44   cfg80211_get_station+0x80/0x154   batadv_v_elp_get_throughput+0x138/0x1fc   batadv_v_elp_throughput_metric_update+0x1c/0xa4   process_one_work+0x1ec/0x414   worker_thread+0x70/0x46c   kthread+0xdc/0xe0   ret_from_fork+0x10/0x20  Code: a9bb7bfd 910003fd a90153f3 f9411c40 (f9402814)  This happens because STA has time to disconnect and reconnect before batadv_v_elp_throughput_metric_update() delayed work gets scheduled. In this situation, ath10k_sta_state() can be in the middle of resetting arsta data when the work queue get chance to be scheduled and ends up accessing it. Locking wiphy prevents that.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-12 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-35896",
                        "url": "https://ubuntu.com/security/CVE-2024-35896",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: netfilter: validate user input for expected length I got multiple syzbot reports showing old bugs exposed by BPF after commit 20f2505fb436 (\"bpf: Try to avoid kzalloc in cgroup/{s,g}etsockopt\") setsockopt() @optlen argument should be taken into account before copying data. BUG: KASAN: slab-out-of-bounds in copy_from_sockptr_offset include/linux/sockptr.h:49 [inline] BUG: KASAN: slab-out-of-bounds in copy_from_sockptr include/linux/sockptr.h:55 [inline] BUG: KASAN: slab-out-of-bounds in do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline] BUG: KASAN: slab-out-of-bounds in do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627 Read of size 96 at addr ffff88802cd73da0 by task syz-executor.4/7238 CPU: 1 PID: 7238 Comm: syz-executor.4 Not tainted 6.9.0-rc2-next-20240403-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 print_address_description mm/kasan/report.c:377 [inline] print_report+0x169/0x550 mm/kasan/report.c:488 kasan_report+0x143/0x180 mm/kasan/report.c:601 kasan_check_range+0x282/0x290 mm/kasan/generic.c:189 __asan_memcpy+0x29/0x70 mm/kasan/shadow.c:105 copy_from_sockptr_offset include/linux/sockptr.h:49 [inline] copy_from_sockptr include/linux/sockptr.h:55 [inline] do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline] do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627 nf_setsockopt+0x295/0x2c0 net/netfilter/nf_sockopt.c:101 do_sock_setsockopt+0x3af/0x720 net/socket.c:2311 __sys_setsockopt+0x1ae/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340 do_syscall_64+0xfb/0x240 entry_SYSCALL_64_after_hwframe+0x72/0x7a RIP: 0033:0x7fd22067dde9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fd21f9ff0c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 00007fd2207abf80 RCX: 00007fd22067dde9 RDX: 0000000000000040 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 00007fd2206ca47a R08: 0000000000000001 R09: 0000000000000000 R10: 0000000020000880 R11: 0000000000000246 R12: 0000000000000000 R13: 000000000000000b R14: 00007fd2207abf80 R15: 00007ffd2d0170d8 </TASK> Allocated by task 7238: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:370 [inline] __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:387 kasan_kmalloc include/linux/kasan.h:211 [inline] __do_kmalloc_node mm/slub.c:4069 [inline] __kmalloc_noprof+0x200/0x410 mm/slub.c:4082 kmalloc_noprof include/linux/slab.h:664 [inline] __cgroup_bpf_run_filter_setsockopt+0xd47/0x1050 kernel/bpf/cgroup.c:1869 do_sock_setsockopt+0x6b4/0x720 net/socket.c:2293 __sys_setsockopt+0x1ae/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340 do_syscall_64+0xfb/0x240 entry_SYSCALL_64_after_hwframe+0x72/0x7a The buggy address belongs to the object at ffff88802cd73da0 which belongs to the cache kmalloc-8 of size 8 The buggy address is located 0 bytes inside of allocated 1-byte region [ffff88802cd73da0, ffff88802cd73da1) The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff88802cd73020 pfn:0x2cd73 flags: 0xfff80000000000(node=0|zone=1|lastcpupid=0xfff) page_type: 0xffffefff(slab) raw: 00fff80000000000 ffff888015041280 dead000000000100 dead000000000122 raw: ffff88802cd73020 000000008080007f 00000001ffffefff 00 ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-05-19 09:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2023-52458",
                        "url": "https://ubuntu.com/security/CVE-2023-52458",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: block: add check that partition length needs to be aligned with block size Before calling add partition or resize partition, there is no check on whether the length is aligned with the logical block size. If the logical block size of the disk is larger than 512 bytes, then the partition size maybe not the multiple of the logical block size, and when the last sector is read, bio_truncate() will adjust the bio size, resulting in an IO error if the size of the read command is smaller than the logical block size.If integrity data is supported, this will also result in a null pointer dereference when calling bio_integrity_free.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-02-23 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-35887",
                        "url": "https://ubuntu.com/security/CVE-2024-35887",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: ax25: fix use-after-free bugs caused by ax25_ds_del_timer When the ax25 device is detaching, the ax25_dev_device_down() calls ax25_ds_del_timer() to cleanup the slave_timer. When the timer handler is running, the ax25_ds_del_timer() that calls del_timer() in it will return directly. As a result, the use-after-free bugs could happen, one of the scenarios is shown below: (Thread 1) | (Thread 2) | ax25_ds_timeout() ax25_dev_device_down() | ax25_ds_del_timer() | del_timer() | ax25_dev_put() //FREE | | ax25_dev-> //USE In order to mitigate bugs, when the device is detaching, use timer_shutdown_sync() to stop the timer.",
                        "cve_priority": "low",
                        "cve_public_date": "2024-05-19 09:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-40965",
                        "url": "https://ubuntu.com/security/CVE-2024-40965",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  i2c: lpi2c: Avoid calling clk_get_rate during transfer  Instead of repeatedly calling clk_get_rate for each transfer, lock the clock rate and cache the value. A deadlock has been observed while adding tlv320aic32x4 audio codec to the system. When this clock provider adds its clock, the clk mutex is locked already, it needs to access i2c, which in return needs the mutex for clk_get_rate as well.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-12 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-40982",
                        "url": "https://ubuntu.com/security/CVE-2024-40982",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-12 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-41066",
                        "url": "https://ubuntu.com/security/CVE-2024-41066",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ibmvnic: Add tx check to prevent skb leak  Below is a summary of how the driver stores a reference to an skb during transmit:     tx_buff[free_map[consumer_index]]->skb = new_skb;     free_map[consumer_index] = IBMVNIC_INVALID_MAP;     consumer_index ++; Where variable data looks like this:     free_map == [4, IBMVNIC_INVALID_MAP, IBMVNIC_INVALID_MAP, 0, 3]                                                \tconsumer_index^     tx_buff == [skb=null, skb=<ptr>, skb=<ptr>, skb=null, skb=null]  The driver has checks to ensure that free_map[consumer_index] pointed to a valid index but there was no check to ensure that this index pointed to an unused/null skb address. So, if, by some chance, our free_map and tx_buff lists become out of sync then we were previously risking an skb memory leak. This could then cause tcp congestion control to stop sending packets, eventually leading to ETIMEDOUT.  Therefore, add a conditional to ensure that the skb address is null. If not then warn the user (because this is still a bug that should be patched) and free the old pointer to prevent memleak/tcp problems.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-29 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-42252",
                        "url": "https://ubuntu.com/security/CVE-2024-42252",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  closures: Change BUG_ON() to WARN_ON()  If a BUG_ON() can be hit in the wild, it shouldn't be a BUG_ON()  For reference, this has popped up once in the CI, and we'll need more info to debug it:  03240 ------------[ cut here ]------------ 03240 kernel BUG at lib/closure.c:21! 03240 kernel BUG at lib/closure.c:21! 03240 Internal error: Oops - BUG: 00000000f2000800 [#1] SMP 03240 Modules linked in: 03240 CPU: 15 PID: 40534 Comm: kworker/u80:1 Not tainted 6.10.0-rc4-ktest-ga56da69799bd #25570 03240 Hardware name: linux,dummy-virt (DT) 03240 Workqueue: btree_update btree_interior_update_work 03240 pstate: 00001005 (nzcv daif -PAN -UAO -TCO -DIT +SSBS BTYPE=--) 03240 pc : closure_put+0x224/0x2a0 03240 lr : closure_put+0x24/0x2a0 03240 sp : ffff0000d12071c0 03240 x29: ffff0000d12071c0 x28: dfff800000000000 x27: ffff0000d1207360 03240 x26: 0000000000000040 x25: 0000000000000040 x24: 0000000000000040 03240 x23: ffff0000c1f20180 x22: 0000000000000000 x21: ffff0000c1f20168 03240 x20: 0000000040000000 x19: ffff0000c1f20140 x18: 0000000000000001 03240 x17: 0000000000003aa0 x16: 0000000000003ad0 x15: 1fffe0001c326974 03240 x14: 0000000000000a1e x13: 0000000000000000 x12: 1fffe000183e402d 03240 x11: ffff6000183e402d x10: dfff800000000000 x9 : ffff6000183e402e 03240 x8 : 0000000000000001 x7 : 00009fffe7c1bfd3 x6 : ffff0000c1f2016b 03240 x5 : ffff0000c1f20168 x4 : ffff6000183e402e x3 : ffff800081391954 03240 x2 : 0000000000000001 x1 : 0000000000000000 x0 : 00000000a8000000 03240 Call trace: 03240  closure_put+0x224/0x2a0 03240  bch2_check_for_deadlock+0x910/0x1028 03240  bch2_six_check_for_deadlock+0x1c/0x30 03240  six_lock_slowpath.isra.0+0x29c/0xed0 03240  six_lock_ip_waiter+0xa8/0xf8 03240  __bch2_btree_node_lock_write+0x14c/0x298 03240  bch2_trans_lock_write+0x6d4/0xb10 03240  __bch2_trans_commit+0x135c/0x5520 03240  btree_interior_update_work+0x1248/0x1c10 03240  process_scheduled_works+0x53c/0xd90 03240  worker_thread+0x370/0x8c8 03240  kthread+0x258/0x2e8 03240  ret_from_fork+0x10/0x20 03240 Code: aa1303e0 d63f0020 a94363f7 17ffff8c (d4210000) 03240 ---[ end trace 0000000000000000 ]--- 03240 Kernel panic - not syncing: Oops - BUG: Fatal exception 03240 SMP: stopping secondary CPUs 03241 SMP: failed to stop secondary CPUs 13,15 03241 Kernel Offset: disabled 03241 CPU features: 0x00,00000003,80000008,4240500b 03241 Memory Limit: none 03241 ---[ end Kernel panic - not syncing: Oops - BUG: Fatal exception ]--- 03246 ========= FAILED TIMEOUT copygc_torture_no_checksum in 7200s",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-08-08 09:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-46731",
                        "url": "https://ubuntu.com/security/CVE-2024-46731",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/pm: fix the Out-of-bounds read warning  using index i - 1U may beyond element index for mc_data[] when i = 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-09-18 07:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47674",
                        "url": "https://ubuntu.com/security/CVE-2024-47674",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mm: avoid leaving partial pfn mappings around in error case  As Jann points out, PFN mappings are special, because unlike normal memory mappings, there is no lifetime information associated with the mapping - it is just a raw mapping of PFNs with no reference counting of a 'struct page'.  That's all very much intentional, but it does mean that it's easy to mess up the cleanup in case of errors.  Yes, a failed mmap() will always eventually clean up any partial mappings, but without any explicit lifetime in the page table mapping itself, it's very easy to do the error handling in the wrong order.  In particular, it's easy to mistakenly free the physical backing store before the page tables are actually cleaned up and (temporarily) have stale dangling PTE entries.  To make this situation less error-prone, just make sure that any partial pfn mapping is torn down early, before any other error handling.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-15 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-38588",
                        "url": "https://ubuntu.com/security/CVE-2024-38588",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix possible use-after-free issue in ftrace_location() KASAN reports a bug: BUG: KASAN: use-after-free in ftrace_location+0x90/0x120 Read of size 8 at addr ffff888141d40010 by task insmod/424 CPU: 8 PID: 424 Comm: insmod Tainted: G W 6.9.0-rc2+ [...] Call Trace: <TASK> dump_stack_lvl+0x68/0xa0 print_report+0xcf/0x610 kasan_report+0xb5/0xe0 ftrace_location+0x90/0x120 register_kprobe+0x14b/0xa40 kprobe_init+0x2d/0xff0 [kprobe_example] do_one_initcall+0x8f/0x2d0 do_init_module+0x13a/0x3c0 load_module+0x3082/0x33d0 init_module_from_file+0xd2/0x130 __x64_sys_finit_module+0x306/0x440 do_syscall_64+0x68/0x140 entry_SYSCALL_64_after_hwframe+0x71/0x79 The root cause is that, in lookup_rec(), ftrace record of some address is being searched in ftrace pages of some module, but those ftrace pages at the same time is being freed in ftrace_release_mod() as the corresponding module is being deleted: CPU1 | CPU2 register_kprobes() { | delete_module() { check_kprobe_address_safe() { | arch_check_ftrace_location() { | ftrace_location() { | lookup_rec() // USE! | ftrace_release_mod() // Free! To fix this issue: 1. Hold rcu lock as accessing ftrace pages in ftrace_location_range(); 2. Use ftrace_location_range() instead of lookup_rec() in ftrace_location(); 3. Call synchronize_rcu() before freeing any ftrace pages both in ftrace_process_locs()/ftrace_release_mod()/ftrace_free_mem().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-06-19 14:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50265",
                        "url": "https://ubuntu.com/security/CVE-2024-50265",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: remove entry once instead of null-ptr-dereference in ocfs2_xa_remove()  Syzkaller is able to provoke null-ptr-dereference in ocfs2_xa_remove():  [   57.319872] (a.out,1161,7):ocfs2_xa_remove:2028 ERROR: status = -12 [   57.320420] (a.out,1161,7):ocfs2_xa_cleanup_value_truncate:1999 ERROR: Partial truncate while removing xattr overlay.upper.  Leaking 1 clusters and removing the entry [   57.321727] BUG: kernel NULL pointer dereference, address: 0000000000000004 [...] [   57.325727] RIP: 0010:ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [...] [   57.331328] Call Trace: [   57.331477]  <TASK> [...] [   57.333511]  ? do_user_addr_fault+0x3e5/0x740 [   57.333778]  ? exc_page_fault+0x70/0x170 [   57.334016]  ? asm_exc_page_fault+0x2b/0x30 [   57.334263]  ? __pfx_ocfs2_xa_block_wipe_namevalue+0x10/0x10 [   57.334596]  ? ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [   57.334913]  ocfs2_xa_remove_entry+0x23/0xc0 [   57.335164]  ocfs2_xa_set+0x704/0xcf0 [   57.335381]  ? _raw_spin_unlock+0x1a/0x40 [   57.335620]  ? ocfs2_inode_cache_unlock+0x16/0x20 [   57.335915]  ? trace_preempt_on+0x1e/0x70 [   57.336153]  ? start_this_handle+0x16c/0x500 [   57.336410]  ? preempt_count_sub+0x50/0x80 [   57.336656]  ? _raw_read_unlock+0x20/0x40 [   57.336906]  ? start_this_handle+0x16c/0x500 [   57.337162]  ocfs2_xattr_block_set+0xa6/0x1e0 [   57.337424]  __ocfs2_xattr_set_handle+0x1fd/0x5d0 [   57.337706]  ? ocfs2_start_trans+0x13d/0x290 [   57.337971]  ocfs2_xattr_set+0xb13/0xfb0 [   57.338207]  ? dput+0x46/0x1c0 [   57.338393]  ocfs2_xattr_trusted_set+0x28/0x30 [   57.338665]  ? ocfs2_xattr_trusted_set+0x28/0x30 [   57.338948]  __vfs_removexattr+0x92/0xc0 [   57.339182]  __vfs_removexattr_locked+0xd5/0x190 [   57.339456]  ? preempt_count_sub+0x50/0x80 [   57.339705]  vfs_removexattr+0x5f/0x100 [...]  Reproducer uses faultinject facility to fail ocfs2_xa_remove() -> ocfs2_xa_value_truncate() with -ENOMEM.  In this case the comment mentions that we can return 0 if ocfs2_xa_cleanup_value_truncate() is going to wipe the entry anyway. But the following 'rc' check is wrong and execution flow do 'ocfs2_xa_remove_entry(loc);' twice: * 1st: in ocfs2_xa_cleanup_value_truncate(); * 2nd: returning back to ocfs2_xa_remove() instead of going to 'out'.  Fix this by skipping the 2nd removal of the same entry and making syzkaller repro happy.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50267",
                        "url": "https://ubuntu.com/security/CVE-2024-50267",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  USB: serial: io_edgeport: fix use after free in debug printk  The \"dev_dbg(&urb->dev->dev, ...\" which happens after usb_free_urb(urb) is a use after free of the \"urb\" pointer.  Store the \"dev\" pointer at the start of the function to avoid this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50269",
                        "url": "https://ubuntu.com/security/CVE-2024-50269",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: musb: sunxi: Fix accessing an released usb phy  Commit 6ed05c68cbca (\"usb: musb: sunxi: Explicitly release USB PHY on exit\") will cause that usb phy @glue->xceiv is accessed after released.  1) register platform driver @sunxi_musb_driver // get the usb phy @glue->xceiv sunxi_musb_probe() -> devm_usb_get_phy().  2) register and unregister platform driver @musb_driver musb_probe() -> sunxi_musb_init() use the phy here //the phy is released here musb_remove() -> sunxi_musb_exit() -> devm_usb_put_phy()  3) register @musb_driver again musb_probe() -> sunxi_musb_init() use the phy here but the phy has been released at 2). ...  Fixed by reverting the commit, namely, removing devm_usb_put_phy() from sunxi_musb_exit().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2021-47469",
                        "url": "https://ubuntu.com/security/CVE-2021-47469",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: spi: Fix deadlock when adding SPI controllers on SPI buses Currently we have a global spi_add_lock which we take when adding new devices so that we can check that we're not trying to reuse a chip select that's already controlled. This means that if the SPI device is itself a SPI controller and triggers the instantiation of further SPI devices we trigger a deadlock as we try to register and instantiate those devices while in the process of doing so for the parent controller and hence already holding the global spi_add_lock. Since we only care about concurrency within a single SPI bus move the lock to be per controller, avoiding the deadlock. This can be easily triggered in the case of spi-mux.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-05-22 07:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50273",
                        "url": "https://ubuntu.com/security/CVE-2024-50273",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: reinitialize delayed ref list after deleting it from the list  At insert_delayed_ref() if we need to update the action of an existing ref to BTRFS_DROP_DELAYED_REF, we delete the ref from its ref head's ref_add_list using list_del(), which leaves the ref's add_list member not reinitialized, as list_del() sets the next and prev members of the list to LIST_POISON1 and LIST_POISON2, respectively.  If later we end up calling drop_delayed_ref() against the ref, which can happen during merging or when destroying delayed refs due to a transaction abort, we can trigger a crash since at drop_delayed_ref() we call list_empty() against the ref's add_list, which returns false since the list was not reinitialized after the list_del() and as a consequence we call list_del() again at drop_delayed_ref(). This results in an invalid list access since the next and prev members are set to poison pointers, resulting in a splat if CONFIG_LIST_HARDENED and CONFIG_DEBUG_LIST are set or invalid poison pointer dereferences otherwise.  So fix this by deleting from the list with list_del_init() instead.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-53066",
                        "url": "https://ubuntu.com/security/CVE-2024-53066",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfs: Fix KMSAN warning in decode_getfattr_attrs()  Fix the following KMSAN warning:  CPU: 1 UID: 0 PID: 7651 Comm: cp Tainted: G    B Tainted: [B]=BAD_PAGE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009) ===================================================== ===================================================== BUG: KMSAN: uninit-value in decode_getfattr_attrs+0x2d6d/0x2f90  decode_getfattr_attrs+0x2d6d/0x2f90  decode_getfattr_generic+0x806/0xb00  nfs4_xdr_dec_getattr+0x1de/0x240  rpcauth_unwrap_resp_decode+0xab/0x100  rpcauth_unwrap_resp+0x95/0xc0  call_decode+0x4ff/0xb50  __rpc_execute+0x57b/0x19d0  rpc_execute+0x368/0x5e0  rpc_run_task+0xcfe/0xee0  nfs4_proc_getattr+0x5b5/0x990  __nfs_revalidate_inode+0x477/0xd00  nfs_access_get_cached+0x1021/0x1cc0  nfs_do_access+0x9f/0xae0  nfs_permission+0x1e4/0x8c0  inode_permission+0x356/0x6c0  link_path_walk+0x958/0x1330  path_lookupat+0xce/0x6b0  filename_lookup+0x23e/0x770  vfs_statx+0xe7/0x970  vfs_fstatat+0x1f2/0x2c0  __se_sys_newfstatat+0x67/0x880  __x64_sys_newfstatat+0xbd/0x120  x64_sys_call+0x1826/0x3cf0  do_syscall_64+0xd0/0x1b0  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The KMSAN warning is triggered in decode_getfattr_attrs(), when calling decode_attr_mdsthreshold(). It appears that fattr->mdsthreshold is not initialized.  Fix the issue by initializing fattr->mdsthreshold to NULL in nfs_fattr_init().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50278",
                        "url": "https://ubuntu.com/security/CVE-2024-50278",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  dm cache: fix potential out-of-bounds access on the first resume  Out-of-bounds access occurs if the fast device is expanded unexpectedly before the first-time resume of the cache table. This happens because expanding the fast device requires reloading the cache table for cache_create to allocate new in-core data structures that fit the new size, and the check in cache_preresume is not performed during the first resume, leading to the issue.  Reproduce steps:  1. prepare component devices:  dmsetup create cmeta --table \"0 8192 linear /dev/sdc 0\" dmsetup create cdata --table \"0 65536 linear /dev/sdc 8192\" dmsetup create corig --table \"0 524288 linear /dev/sdc 262144\" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct  2. load a cache table of 512 cache blocks, and deliberately expand the    fast device before resuming the cache, making the in-core data    structures inadequate.  dmsetup create cache --notable dmsetup reload cache --table \"0 524288 cache /dev/mapper/cmeta \\ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0\" dmsetup reload cdata --table \"0 131072 linear /dev/sdc 8192\" dmsetup resume cdata dmsetup resume cache  3. suspend the cache to write out the in-core dirty bitset and hint    array, leading to out-of-bounds access to the dirty bitset at offset    0x40:  dmsetup suspend cache  KASAN reports:    BUG: KASAN: vmalloc-out-of-bounds in is_dirty_callback+0x2b/0x80   Read of size 8 at addr ffffc90000085040 by task dmsetup/90    (...snip...)   The buggy address belongs to the virtual mapping at    [ffffc90000085000, ffffc90000087000) created by:    cache_ctr+0x176a/0x35f0    (...snip...)   Memory state around the buggy address:    ffffc90000084f00: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc90000084f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8   >ffffc90000085000: 00 00 00 00 00 00 00 00 f8 f8 f8 f8 f8 f8 f8 f8                                              ^    ffffc90000085080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc90000085100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8  Fix by checking the size change on the first resume.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50279",
                        "url": "https://ubuntu.com/security/CVE-2024-50279",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  dm cache: fix out-of-bounds access to the dirty bitset when resizing  dm-cache checks the dirty bits of the cache blocks to be dropped when shrinking the fast device, but an index bug in bitset iteration causes out-of-bounds access.  Reproduce steps:  1. create a cache device of 1024 cache blocks (128 bytes dirty bitset)  dmsetup create cmeta --table \"0 8192 linear /dev/sdc 0\" dmsetup create cdata --table \"0 131072 linear /dev/sdc 8192\" dmsetup create corig --table \"0 524288 linear /dev/sdc 262144\" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct dmsetup create cache --table \"0 524288 cache /dev/mapper/cmeta \\ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0\"  2. shrink the fast device to 512 cache blocks, triggering out-of-bounds    access to the dirty bitset (offset 0x80)  dmsetup suspend cache dmsetup reload cdata --table \"0 65536 linear /dev/sdc 8192\" dmsetup resume cdata dmsetup resume cache  KASAN reports:    BUG: KASAN: vmalloc-out-of-bounds in cache_preresume+0x269/0x7b0   Read of size 8 at addr ffffc900000f3080 by task dmsetup/131    (...snip...)   The buggy address belongs to the virtual mapping at    [ffffc900000f3000, ffffc900000f5000) created by:    cache_ctr+0x176a/0x35f0    (...snip...)   Memory state around the buggy address:    ffffc900000f2f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc900000f3000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >ffffc900000f3080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8                      ^    ffffc900000f3100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc900000f3180: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8  Fix by making the index post-incremented.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50282",
                        "url": "https://ubuntu.com/security/CVE-2024-50282",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: add missing size check in amdgpu_debugfs_gprwave_read()  Avoid a possible buffer overflow if size is larger than 4K.  (cherry picked from commit f5d873f5825b40d886d03bd2aede91d4cf002434)",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50287",
                        "url": "https://ubuntu.com/security/CVE-2024-50287",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: v4l2-tpg: prevent the risk of a division by zero  As reported by Coverity, the logic at tpg_precalculate_line() blindly rescales the buffer even when scaled_witdh is equal to zero. If this ever happens, this will cause a division by zero.  Instead, add a WARN_ON_ONCE() to trigger such cases and return without doing any precalculation.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50290",
                        "url": "https://ubuntu.com/security/CVE-2024-50290",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: cx24116: prevent overflows on SNR calculus  as reported by Coverity, if reading SNR registers fail, a negative number will be returned, causing an underflow when reading SNR registers.  Prevent that.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-53061",
                        "url": "https://ubuntu.com/security/CVE-2024-53061",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: s5p-jpeg: prevent buffer overflows  The current logic allows word to be less than 2. If this happens, there will be buffer overflows, as reported by smatch. Add extra checks to prevent it.  While here, remove an unused word = 0 assignment.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-53063",
                        "url": "https://ubuntu.com/security/CVE-2024-53063",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvbdev: prevent the risk of out of memory access  The dvbdev contains a static variable used to store dvb minors.  The behavior of it depends if CONFIG_DVB_DYNAMIC_MINORS is set or not. When not set, dvb_register_device() won't check for boundaries, as it will rely that a previous call to dvb_register_adapter() would already be enforcing it.  On a similar way, dvb_device_open() uses the assumption that the register functions already did the needed checks.  This can be fragile if some device ends using different calls. This also generate warnings on static check analysers like Coverity.  So, add explicit guards to prevent potential risk of OOM issues.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50296",
                        "url": "https://ubuntu.com/security/CVE-2024-50296",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: fix kernel crash when uninstalling driver  When the driver is uninstalled and the VF is disabled concurrently, a kernel crash occurs. The reason is that the two actions call function pci_disable_sriov(). The num_VFs is checked to determine whether to release the corresponding resources. During the second calling, num_VFs is not 0 and the resource release function is called. However, the corresponding resource has been released during the first invoking. Therefore, the problem occurs:  [15277.839633][T50670] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020 ... [15278.131557][T50670] Call trace: [15278.134686][T50670]  klist_put+0x28/0x12c [15278.138682][T50670]  klist_del+0x14/0x20 [15278.142592][T50670]  device_del+0xbc/0x3c0 [15278.146676][T50670]  pci_remove_bus_device+0x84/0x120 [15278.151714][T50670]  pci_stop_and_remove_bus_device+0x6c/0x80 [15278.157447][T50670]  pci_iov_remove_virtfn+0xb4/0x12c [15278.162485][T50670]  sriov_disable+0x50/0x11c [15278.166829][T50670]  pci_disable_sriov+0x24/0x30 [15278.171433][T50670]  hnae3_unregister_ae_algo_prepare+0x60/0x90 [hnae3] [15278.178039][T50670]  hclge_exit+0x28/0xd0 [hclge] [15278.182730][T50670]  __se_sys_delete_module.isra.0+0x164/0x230 [15278.188550][T50670]  __arm64_sys_delete_module+0x1c/0x30 [15278.193848][T50670]  invoke_syscall+0x50/0x11c [15278.198278][T50670]  el0_svc_common.constprop.0+0x158/0x164 [15278.203837][T50670]  do_el0_svc+0x34/0xcc [15278.207834][T50670]  el0_svc+0x20/0x30  For details, see the following figure.       rmmod hclge              disable VFs ---------------------------------------------------- hclge_exit()            sriov_numvfs_store()   ...                     device_lock()   pci_disable_sriov()     hns3_pci_sriov_configure()                             pci_disable_sriov()                               sriov_disable()     sriov_disable()             if !num_VFs :       if !num_VFs :               return;         return;                 sriov_del_vfs()       sriov_del_vfs()             ...         ...                       klist_put()         klist_put()               ...         ...                     num_VFs = 0;       num_VFs = 0;        device_unlock();  In this patch, when driver is removing, we get the device_lock() to protect num_VFs, just like sriov_numvfs_store().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50299",
                        "url": "https://ubuntu.com/security/CVE-2024-50299",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sctp: properly validate chunk size in sctp_sf_ootb()  A size validation fix similar to that in Commit 50619dbf8db7 (\"sctp: add size validation when walking chunks\") is also required in sctp_sf_ootb() to address a crash reported by syzbot:    BUG: KMSAN: uninit-value in sctp_sf_ootb+0x7f5/0xce0 net/sctp/sm_statefuns.c:3712   sctp_sf_ootb+0x7f5/0xce0 net/sctp/sm_statefuns.c:3712   sctp_do_sm+0x181/0x93d0 net/sctp/sm_sideeffect.c:1166   sctp_endpoint_bh_rcv+0xc38/0xf90 net/sctp/endpointola.c:407   sctp_inq_push+0x2ef/0x380 net/sctp/inqueue.c:88   sctp_rcv+0x3831/0x3b20 net/sctp/input.c:243   sctp4_rcv+0x42/0x50 net/sctp/protocol.c:1159   ip_protocol_deliver_rcu+0xb51/0x13d0 net/ipv4/ip_input.c:205   ip_local_deliver_finish+0x336/0x500 net/ipv4/ip_input.c:233",
                        "cve_priority": "low",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50301",
                        "url": "https://ubuntu.com/security/CVE-2024-50301",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  security/keys: fix slab-out-of-bounds in key_task_permission  KASAN reports an out of bounds read: BUG: KASAN: slab-out-of-bounds in __kuid_val include/linux/uidgid.h:36 BUG: KASAN: slab-out-of-bounds in uid_eq include/linux/uidgid.h:63 [inline] BUG: KASAN: slab-out-of-bounds in key_task_permission+0x394/0x410 security/keys/permission.c:54 Read of size 4 at addr ffff88813c3ab618 by task stress-ng/4362  CPU: 2 PID: 4362 Comm: stress-ng Not tainted 5.10.0-14930-gafbffd6c3ede #15 Call Trace:  __dump_stack lib/dump_stack.c:82 [inline]  dump_stack+0x107/0x167 lib/dump_stack.c:123  print_address_description.constprop.0+0x19/0x170 mm/kasan/report.c:400  __kasan_report.cold+0x6c/0x84 mm/kasan/report.c:560  kasan_report+0x3a/0x50 mm/kasan/report.c:585  __kuid_val include/linux/uidgid.h:36 [inline]  uid_eq include/linux/uidgid.h:63 [inline]  key_task_permission+0x394/0x410 security/keys/permission.c:54  search_nested_keyrings+0x90e/0xe90 security/keys/keyring.c:793  This issue was also reported by syzbot.  It can be reproduced by following these steps(more details [1]): 1. Obtain more than 32 inputs that have similar hashes, which ends with the    pattern '0xxxxxxxe6'. 2. Reboot and add the keys obtained in step 1.  The reproducer demonstrates how this issue happened: 1. In the search_nested_keyrings function, when it iterates through the    slots in a node(below tag ascend_to_node), if the slot pointer is meta    and node->back_pointer != NULL(it means a root), it will proceed to    descend_to_node. However, there is an exception. If node is the root,    and one of the slots points to a shortcut, it will be treated as a    keyring. 2. Whether the ptr is keyring decided by keyring_ptr_is_keyring function.    However, KEYRING_PTR_SUBTYPE is 0x2UL, the same as    ASSOC_ARRAY_PTR_SUBTYPE_MASK. 3. When 32 keys with the similar hashes are added to the tree, the ROOT    has keys with hashes that are not similar (e.g. slot 0) and it splits    NODE A without using a shortcut. When NODE A is filled with keys that    all hashes are xxe6, the keys are similar, NODE A will split with a    shortcut. Finally, it forms the tree as shown below, where slot 6 points    to a shortcut.                        NODE A               +------>+---+       ROOT    |       | 0 | xxe6       +---+   |       +---+  xxxx | 0 | shortcut  :   : xxe6       +---+   |       +---+  xxe6 :   :   |       |   | xxe6       +---+   |       +---+       | 6 |---+       :   : xxe6       +---+           +---+  xxe6 :   :           | f | xxe6       +---+           +---+  xxe6 | f |       +---+  4. As mentioned above, If a slot(slot 6) of the root points to a shortcut,    it may be mistakenly transferred to a key*, leading to a read    out-of-bounds read.  To fix this issue, one should jump to descend_to_node if the ptr is a shortcut, regardless of whether the node is root or not.  [1] https://lore.kernel.org/linux-kernel/1cfa878e-8c7b-4570-8606-21daf5e13ce7@huaweicloud.com/  [jarkko: tweaked the commit message a bit to have an appropriate closes  tag.]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50302",
                        "url": "https://ubuntu.com/security/CVE-2024-50302",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  HID: core: zero-initialize the report buffer  Since the report buffer is used by all kinds of drivers in various ways, let's zero-initialize it during allocation to make sure that it can't be ever used to leak kernel memory via specially-crafted report.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50228",
                        "url": "https://ubuntu.com/security/CVE-2024-50228",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50230",
                        "url": "https://ubuntu.com/security/CVE-2024-50230",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix kernel bug due to missing clearing of checked flag  Syzbot reported that in directory operations after nilfs2 detects filesystem corruption and degrades to read-only, __block_write_begin_int(), which is called to prepare block writes, may fail the BUG_ON check for accesses exceeding the folio/page size, triggering a kernel bug.  This was found to be because the \"checked\" flag of a page/folio was not cleared when it was discarded by nilfs2's own routine, which causes the sanity check of directory entries to be skipped when the directory page/folio is reloaded.  So, fix that.  This was necessary when the use of nilfs2's own page discard routine was applied to more than just metadata files.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50218",
                        "url": "https://ubuntu.com/security/CVE-2024-50218",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow  Syzbot reported a kernel BUG in ocfs2_truncate_inline.  There are two reasons for this: first, the parameter value passed is greater than ocfs2_max_inline_data_with_xattr, second, the start and end parameters of ocfs2_truncate_inline are \"unsigned int\".  So, we need to add a sanity check for byte_start and byte_len right before ocfs2_truncate_inline() in ocfs2_remove_inode_range(), if they are greater than ocfs2_max_inline_data_with_xattr return -EINVAL.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50229",
                        "url": "https://ubuntu.com/security/CVE-2024-50229",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential deadlock with newly created symlinks  Syzbot reported that page_symlink(), called by nilfs_symlink(), triggers memory reclamation involving the filesystem layer, which can result in circular lock dependencies among the reader/writer semaphore nilfs->ns_segctor_sem, s_writers percpu_rwsem (intwrite) and the fs_reclaim pseudo lock.  This is because after commit 21fc61c73c39 (\"don't put symlink bodies in pagecache into highmem\"), the gfp flags of the page cache for symbolic links are overwritten to GFP_KERNEL via inode_nohighmem().  This is not a problem for symlinks read from the backing device, because the __GFP_FS flag is dropped after inode_nohighmem() is called.  However, when a new symlink is created with nilfs_symlink(), the gfp flags remain overwritten to GFP_KERNEL.  Then, memory allocation called from page_symlink() etc.  triggers memory reclamation including the FS layer, which may call nilfs_evict_inode() or nilfs_dirty_inode().  And these can cause a deadlock if they are called while nilfs->ns_segctor_sem is held:  Fix this issue by dropping the __GFP_FS flag from the page cache GFP flags of newly created symlinks in the same way that nilfs_new_inode() and __nilfs_read_inode() do, as a workaround until we adopt nofs allocation scope consistently or improve the locking constraints.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50233",
                        "url": "https://ubuntu.com/security/CVE-2024-50233",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  staging: iio: frequency: ad9832: fix division by zero in ad9832_calc_freqreg()  In the ad9832_write_frequency() function, clk_get_rate() might return 0. This can lead to a division by zero when calling ad9832_calc_freqreg(). The check if (fout > (clk_get_rate(st->mclk) / 2)) does not protect against the case when fout is 0. The ad9832_write_frequency() function is called from ad9832_write(), and fout is derived from a text buffer, which can contain any value.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50234",
                        "url": "https://ubuntu.com/security/CVE-2024-50234",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlegacy: Clear stale interrupts before resuming device  iwl4965 fails upon resume from hibernation on my laptop. The reason seems to be a stale interrupt which isn't being cleared out before interrupts are enabled. We end up with a race beween the resume trying to bring things back up, and the restart work (queued form the interrupt handler) trying to bring things down. Eventually the whole thing blows up.  Fix the problem by clearing out any stale interrupts before interrupts get enabled during resume.  Here's a debug log of the indicent: [   12.042589] ieee80211 phy0: il_isr ISR inta 0x00000080, enabled 0xaa00008b, fh 0x00000000 [   12.042625] ieee80211 phy0: il4965_irq_tasklet inta 0x00000080, enabled 0x00000000, fh 0x00000000 [   12.042651] iwl4965 0000:10:00.0: RF_KILL bit toggled to enable radio. [   12.042653] iwl4965 0000:10:00.0: On demand firmware reload [   12.042690] ieee80211 phy0: il4965_irq_tasklet End inta 0x00000000, enabled 0xaa00008b, fh 0x00000000, flags 0x00000282 [   12.052207] ieee80211 phy0: il4965_mac_start enter [   12.052212] ieee80211 phy0: il_prep_station Add STA to driver ID 31: ff:ff:ff:ff:ff:ff [   12.052244] ieee80211 phy0: il4965_set_hw_ready hardware  ready [   12.052324] ieee80211 phy0: il_apm_init Init card's basic functions [   12.052348] ieee80211 phy0: il_apm_init L1 Enabled; Disabling L0S [   12.055727] ieee80211 phy0: il4965_load_bsm Begin load bsm [   12.056140] ieee80211 phy0: il4965_verify_bsm Begin verify bsm [   12.058642] ieee80211 phy0: il4965_verify_bsm BSM bootstrap uCode image OK [   12.058721] ieee80211 phy0: il4965_load_bsm BSM write complete, poll 1 iterations [   12.058734] ieee80211 phy0: __il4965_up iwl4965 is coming up [   12.058737] ieee80211 phy0: il4965_mac_start Start UP work done. [   12.058757] ieee80211 phy0: __il4965_down iwl4965 is going down [   12.058761] ieee80211 phy0: il_scan_cancel_timeout Scan cancel timeout [   12.058762] ieee80211 phy0: il_do_scan_abort Not performing scan to abort [   12.058765] ieee80211 phy0: il_clear_ucode_stations Clearing ucode stations in driver [   12.058767] ieee80211 phy0: il_clear_ucode_stations No active stations found to be cleared [   12.058819] ieee80211 phy0: _il_apm_stop Stop card, put in low power state [   12.058827] ieee80211 phy0: _il_apm_stop_master stop master [   12.058864] ieee80211 phy0: il4965_clear_free_frames 0 frames on pre-allocated heap on clear. [   12.058869] ieee80211 phy0: Hardware restart was requested [   16.132299] iwl4965 0000:10:00.0: START_ALIVE timeout after 4000ms. [   16.132303] ------------[ cut here ]------------ [   16.132304] Hardware became unavailable upon resume. This could be a software issue prior to suspend or a hardware issue. [   16.132338] WARNING: CPU: 0 PID: 181 at net/mac80211/util.c:1826 ieee80211_reconfig+0x8f/0x14b0 [mac80211] [   16.132390] Modules linked in: ctr ccm sch_fq_codel xt_tcpudp xt_multiport xt_state iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv4 ip_tables x_tables binfmt_misc joydev mousedev btusb btrtl btintel btbcm bluetooth ecdh_generic ecc iTCO_wdt i2c_dev iwl4965 iwlegacy coretemp snd_hda_codec_analog pcspkr psmouse mac80211 snd_hda_codec_generic libarc4 sdhci_pci cqhci sha256_generic sdhci libsha256 firewire_ohci snd_hda_intel snd_intel_dspcfg mmc_core snd_hda_codec snd_hwdep firewire_core led_class iosf_mbi snd_hda_core uhci_hcd lpc_ich crc_itu_t cfg80211 ehci_pci ehci_hcd snd_pcm usbcore mfd_core rfkill snd_timer snd usb_common soundcore video parport_pc parport intel_agp wmi intel_gtt backlight e1000e agpgart evdev [   16.132456] CPU: 0 UID: 0 PID: 181 Comm: kworker/u8:6 Not tainted 6.11.0-cl+ #143 [   16.132460] Hardware name: Hewlett-Packard HP Compaq 6910p/30BE, BIOS 68MCU Ver. F.19 07/06/2010 [   16.132463] Workqueue: async async_run_entry_fn [   16.132469] RIP: 0010:ieee80211_reconfig+0x8f/0x14b0 [mac80211] [   16.132501] Code: da 02 00 0 ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50236",
                        "url": "https://ubuntu.com/security/CVE-2024-50236",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: ath10k: Fix memory leak in management tx  In the current logic, memory is allocated for storing the MSDU context during management packet TX but this memory is not being freed during management TX completion. Similar leaks are seen in the management TX cleanup logic.  Kmemleak reports this problem as below,  unreferenced object 0xffffff80b64ed250 (size 16):   comm \"kworker/u16:7\", pid 148, jiffies 4294687130 (age 714.199s)   hex dump (first 16 bytes):     00 2b d8 d8 80 ff ff ff c4 74 e9 fd 07 00 00 00  .+.......t......   backtrace:     [<ffffffe6e7b245dc>] __kmem_cache_alloc_node+0x1e4/0x2d8     [<ffffffe6e7adde88>] kmalloc_trace+0x48/0x110     [<ffffffe6bbd765fc>] ath10k_wmi_tlv_op_gen_mgmt_tx_send+0xd4/0x1d8 [ath10k_core]     [<ffffffe6bbd3eed4>] ath10k_mgmt_over_wmi_tx_work+0x134/0x298 [ath10k_core]     [<ffffffe6e78d5974>] process_scheduled_works+0x1ac/0x400     [<ffffffe6e78d60b8>] worker_thread+0x208/0x328     [<ffffffe6e78dc890>] kthread+0x100/0x1c0     [<ffffffe6e78166c0>] ret_from_fork+0x10/0x20  Free the memory during completion and cleanup to fix the leak.  Protect the mgmt_pending_tx idr_remove() operation in ath10k_wmi_tlv_op_cleanup_mgmt_tx_send() using ar->data_lock similar to other instances.  Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.2.0-01387-QCAHLSWMTPLZ-1",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50237",
                        "url": "https://ubuntu.com/security/CVE-2024-50237",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower  Avoid potentially crashing in the driver because of uninitialized private data",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50251",
                        "url": "https://ubuntu.com/security/CVE-2024-50251",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nft_payload: sanitize offset and length before calling skb_checksum()  If access to offset + length is larger than the skbuff length, then skb_checksum() triggers BUG_ON().  skb_checksum() internally subtracts the length parameter while iterating over skbuff, BUG_ON(len) at the end of it checks that the expected length to be included in the checksum calculation is fully consumed.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50262",
                        "url": "https://ubuntu.com/security/CVE-2024-50262",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Fix out-of-bounds write in trie_get_next_key()  trie_get_next_key() allocates a node stack with size trie->max_prefixlen, while it writes (trie->max_prefixlen + 1) nodes to the stack when it has full paths from the root to leaves. For example, consider a trie with max_prefixlen is 8, and the nodes with key 0x00/0, 0x00/1, 0x00/2, ... 0x00/8 inserted. Subsequent calls to trie_get_next_key with _key with .prefixlen = 8 make 9 nodes be written on the node stack with size 8.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-53059",
                        "url": "https://ubuntu.com/security/CVE-2024-53059",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlwifi: mvm: Fix response handling in iwl_mvm_send_recovery_cmd()  1. The size of the response packet is not validated. 2. The response buffer is not freed.  Resolve these issues by switching to iwl_mvm_send_cmd_status(), which handles both size validation and frees the buffer.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50142",
                        "url": "https://ubuntu.com/security/CVE-2024-50142",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfrm: validate new SA's prefixlen using SA family when sel.family is unset  This expands the validation introduced in commit 07bf7908950a (\"xfrm: Validate address prefix lengths in the xfrm selector.\")  syzbot created an SA with     usersa.sel.family = AF_UNSPEC     usersa.sel.prefixlen_s = 128     usersa.family = AF_INET  Because of the AF_UNSPEC selector, verify_newsa_info doesn't put limits on prefixlen_{s,d}. But then copy_from_user_state sets x->sel.family to usersa.family (AF_INET). Do the same conversion in verify_newsa_info before validating prefixlen_{s,d}, since that's how prefixlen is going to be used later on.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50116",
                        "url": "https://ubuntu.com/security/CVE-2024-50116",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix kernel bug due to missing clearing of buffer delay flag  Syzbot reported that after nilfs2 reads a corrupted file system image and degrades to read-only, the BUG_ON check for the buffer delay flag in submit_bh_wbc() may fail, causing a kernel bug.  This is because the buffer delay flag is not cleared when clearing the buffer state flags to discard a page/folio or a buffer head. So, fix this.  This became necessary when the use of nilfs2's own page clear routine was expanded.  This state inconsistency does not occur if the buffer is written normally by log writing.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50117",
                        "url": "https://ubuntu.com/security/CVE-2024-50117",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd: Guard against bad data for ATIF ACPI method  If a BIOS provides bad data in response to an ATIF method call this causes a NULL pointer dereference in the caller.  ``` ? show_regs (arch/x86/kernel/dumpstack.c:478 (discriminator 1)) ? __die (arch/x86/kernel/dumpstack.c:423 arch/x86/kernel/dumpstack.c:434) ? page_fault_oops (arch/x86/mm/fault.c:544 (discriminator 2) arch/x86/mm/fault.c:705 (discriminator 2)) ? do_user_addr_fault (arch/x86/mm/fault.c:440 (discriminator 1) arch/x86/mm/fault.c:1232 (discriminator 1)) ? acpi_ut_update_object_reference (drivers/acpi/acpica/utdelete.c:642) ? exc_page_fault (arch/x86/mm/fault.c:1542) ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) ? amdgpu_atif_query_backlight_caps.constprop.0 (drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:387 (discriminator 2)) amdgpu ? amdgpu_atif_query_backlight_caps.constprop.0 (drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:386 (discriminator 1)) amdgpu ```  It has been encountered on at least one system, so guard for it.  (cherry picked from commit c9b7c809b89f24e9372a4e7f02d64c950b07fdee)",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50205",
                        "url": "https://ubuntu.com/security/CVE-2024-50205",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: firewire-lib: Avoid division by zero in apply_constraint_to_size()  The step variable is initialized to zero. It is changed in the loop, but if it's not changed it will remain zero. Add a variable check before the division.  The observed behavior was introduced by commit 826b5de90c0b (\"ALSA: firewire-lib: fix insufficient PCM rule for period/buffer size\"), and it is difficult to show that any of the interval parameters will satisfy the snd_interval_test() condition with data from the amdtp_rate_table[] table.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50127",
                        "url": "https://ubuntu.com/security/CVE-2024-50127",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: sched: fix use-after-free in taprio_change()  In 'taprio_change()', 'admin' pointer may become dangling due to sched switch / removal caused by 'advance_sched()', and critical section protected by 'q->current_entry_lock' is too small to prevent from such a scenario (which causes use-after-free detected by KASAN). Fix this by prefer 'rcu_replace_pointer()' over 'rcu_assign_pointer()' to update 'admin' immediately before an attempt to schedule freeing.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50167",
                        "url": "https://ubuntu.com/security/CVE-2024-50167",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  be2net: fix potential memory leak in be_xmit()  The be_xmit() returns NETDEV_TX_OK without freeing skb in case of be_xmit_enqueue() fails, add dev_kfree_skb_any() to fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50168",
                        "url": "https://ubuntu.com/security/CVE-2024-50168",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sun3_82586: fix potential memory leak in sun3_82586_send_packet()  The sun3_82586_send_packet() returns NETDEV_TX_OK without freeing skb in case of skb->len being too long, add dev_kfree_skb() to fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50131",
                        "url": "https://ubuntu.com/security/CVE-2024-50131",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Consider the NULL character when validating the event length  strlen() returns a string length excluding the null byte. If the string length equals to the maximum buffer length, the buffer will have no space for the NULL terminating character.  This commit checks this condition and returns failure for it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50143",
                        "url": "https://ubuntu.com/security/CVE-2024-50143",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  udf: fix uninit-value use in udf_get_fileshortad  Check for overflow when computing alen in udf_current_aext to mitigate later uninit-value use in udf_get_fileshortad KMSAN bug[1]. After applying the patch reproducer did not trigger any issue[2].  [1] https://syzkaller.appspot.com/bug?extid=8901c4560b7ab5c2f9df [2] https://syzkaller.appspot.com/x/log.txt?x=10242227980000",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50134",
                        "url": "https://ubuntu.com/security/CVE-2024-50134",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/vboxvideo: Replace fake VLA at end of vbva_mouse_pointer_shape with real VLA  Replace the fake VLA at end of the vbva_mouse_pointer_shape shape with a real VLA to fix a \"memcpy: detected field-spanning write error\" warning:  [   13.319813] memcpy: detected field-spanning write (size 16896) of single field \"p->data\" at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 (size 4) [   13.319841] WARNING: CPU: 0 PID: 1105 at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 hgsmi_update_pointer_shape+0x192/0x1c0 [vboxvideo] [   13.320038] Call Trace: [   13.320173]  hgsmi_update_pointer_shape [vboxvideo] [   13.320184]  vbox_cursor_atomic_update [vboxvideo]  Note as mentioned in the added comment it seems the original length calculation for the allocated and send hgsmi buffer is 4 bytes too large. Changing this is not the goal of this patch, so this behavior is kept.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50194",
                        "url": "https://ubuntu.com/security/CVE-2024-50194",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: probes: Fix uprobes for big-endian kernels  The arm64 uprobes code is broken for big-endian kernels as it doesn't convert the in-memory instruction encoding (which is always little-endian) into the kernel's native endianness before analyzing and simulating instructions. This may result in a few distinct problems:  * The kernel may may erroneously reject probing an instruction which can   safely be probed.  * The kernel may erroneously erroneously permit stepping an   instruction out-of-line when that instruction cannot be stepped   out-of-line safely.  * The kernel may erroneously simulate instruction incorrectly dur to   interpretting the byte-swapped encoding.  The endianness mismatch isn't caught by the compiler or sparse because:  * The arch_uprobe::{insn,ixol} fields are encoded as arrays of u8, so   the compiler and sparse have no idea these contain a little-endian   32-bit value. The core uprobes code populates these with a memcpy()   which similarly does not handle endianness.  * While the uprobe_opcode_t type is an alias for __le32, both   arch_uprobe_analyze_insn() and arch_uprobe_skip_sstep() cast from u8[]   to the similarly-named probe_opcode_t, which is an alias for u32.   Hence there is no endianness conversion warning.  Fix this by changing the arch_uprobe::{insn,ixol} fields to __le32 and adding the appropriate __le32_to_cpu() conversions prior to consuming the instruction encoding. The core uprobes copies these fields as opaque ranges of bytes, and so is unaffected by this change.  At the same time, remove MAX_UINSN_BYTES and consistently use AARCH64_INSN_SIZE for clarity.  Tested with the following:  | #include <stdio.h> | #include <stdbool.h> | | #define noinline __attribute__((noinline)) | | static noinline void *adrp_self(void) | { |         void *addr; | |         asm volatile( |         \"       adrp    %x0, adrp_self\\n\" |         \"       add     %x0, %x0, :lo12:adrp_self\\n\" |         : \"=r\" (addr)); | } | | | int main(int argc, char *argv) | { |         void *ptr = adrp_self(); |         bool equal = (ptr == adrp_self); | |         printf(\"adrp_self   => %p\\n\" |                \"adrp_self() => %p\\n\" |                \"%s\\n\", |                adrp_self, ptr, equal ? \"EQUAL\" : \"NOT EQUAL\"); | |         return 0; | }  .... where the adrp_self() function was compiled to:  | 00000000004007e0 <adrp_self>: |   4007e0:       90000000        adrp    x0, 400000 <__ehdr_start> |   4007e4:       911f8000        add     x0, x0, #0x7e0 |   4007e8:       d65f03c0        ret  Before this patch, the ADRP is not recognized, and is assumed to be steppable, resulting in corruption of the result:  | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL | # echo 'p /root/adrp-self:0x007e0' > /sys/kernel/tracing/uprobe_events | # echo 1 > /sys/kernel/tracing/events/uprobes/enable | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0xffffffffff7e0 | NOT EQUAL  After this patch, the ADRP is correctly recognized and simulated:  | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL | # | # echo 'p /root/adrp-self:0x007e0' > /sys/kernel/tracing/uprobe_events | # echo 1 > /sys/kernel/tracing/events/uprobes/enable | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50148",
                        "url": "https://ubuntu.com/security/CVE-2024-50148",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: bnep: fix wild-memory-access in proto_unregister  There's issue as follows:   KASAN: maybe wild-memory-access in range [0xdead...108-0xdead...10f]   CPU: 3 UID: 0 PID: 2805 Comm: rmmod Tainted: G        W   RIP: 0010:proto_unregister+0xee/0x400   Call Trace:    <TASK>    __do_sys_delete_module+0x318/0x580    do_syscall_64+0xc1/0x1d0    entry_SYSCALL_64_after_hwframe+0x77/0x7f  As bnep_init() ignore bnep_sock_init()'s return value, and bnep_sock_init() will cleanup all resource. Then when remove bnep module will call bnep_sock_cleanup() to cleanup sock's resource. To solve above issue just return bnep_sock_init()'s return value in bnep_exit().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50150",
                        "url": "https://ubuntu.com/security/CVE-2024-50150",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: altmode should keep reference to parent  The altmode device release refers to its parent device, but without keeping a reference to it.  When registering the altmode, get a reference to the parent and put it in the release function.  Before this fix, when using CONFIG_DEBUG_KOBJECT_RELEASE, we see issues like this:  [   43.572860] kobject: 'port0.0' (ffff8880057ba008): kobject_release, parent 0000000000000000 (delayed 3000) [   43.573532] kobject: 'port0.1' (ffff8880057bd008): kobject_release, parent 0000000000000000 (delayed 1000) [   43.574407] kobject: 'port0' (ffff8880057b9008): kobject_release, parent 0000000000000000 (delayed 3000) [   43.575059] kobject: 'port1.0' (ffff8880057ca008): kobject_release, parent 0000000000000000 (delayed 4000) [   43.575908] kobject: 'port1.1' (ffff8880057c9008): kobject_release, parent 0000000000000000 (delayed 4000) [   43.576908] kobject: 'typec' (ffff8880062dbc00): kobject_release, parent 0000000000000000 (delayed 4000) [   43.577769] kobject: 'port1' (ffff8880057bf008): kobject_release, parent 0000000000000000 (delayed 3000) [   46.612867] ================================================================== [   46.613402] BUG: KASAN: slab-use-after-free in typec_altmode_release+0x38/0x129 [   46.614003] Read of size 8 at addr ffff8880057b9118 by task kworker/2:1/48 [   46.614538] [   46.614668] CPU: 2 UID: 0 PID: 48 Comm: kworker/2:1 Not tainted 6.12.0-rc1-00138-gedbae730ad31 #535 [   46.615391] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014 [   46.616042] Workqueue: events kobject_delayed_cleanup [   46.616446] Call Trace: [   46.616648]  <TASK> [   46.616820]  dump_stack_lvl+0x5b/0x7c [   46.617112]  ? typec_altmode_release+0x38/0x129 [   46.617470]  print_report+0x14c/0x49e [   46.617769]  ? rcu_read_unlock_sched+0x56/0x69 [   46.618117]  ? __virt_addr_valid+0x19a/0x1ab [   46.618456]  ? kmem_cache_debug_flags+0xc/0x1d [   46.618807]  ? typec_altmode_release+0x38/0x129 [   46.619161]  kasan_report+0x8d/0xb4 [   46.619447]  ? typec_altmode_release+0x38/0x129 [   46.619809]  ? process_scheduled_works+0x3cb/0x85f [   46.620185]  typec_altmode_release+0x38/0x129 [   46.620537]  ? process_scheduled_works+0x3cb/0x85f [   46.620907]  device_release+0xaf/0xf2 [   46.621206]  kobject_delayed_cleanup+0x13b/0x17a [   46.621584]  process_scheduled_works+0x4f6/0x85f [   46.621955]  ? __pfx_process_scheduled_works+0x10/0x10 [   46.622353]  ? hlock_class+0x31/0x9a [   46.622647]  ? lock_acquired+0x361/0x3c3 [   46.622956]  ? move_linked_works+0x46/0x7d [   46.623277]  worker_thread+0x1ce/0x291 [   46.623582]  ? __kthread_parkme+0xc8/0xdf [   46.623900]  ? __pfx_worker_thread+0x10/0x10 [   46.624236]  kthread+0x17e/0x190 [   46.624501]  ? kthread+0xfb/0x190 [   46.624756]  ? __pfx_kthread+0x10/0x10 [   46.625015]  ret_from_fork+0x20/0x40 [   46.625268]  ? __pfx_kthread+0x10/0x10 [   46.625532]  ret_from_fork_asm+0x1a/0x30 [   46.625805]  </TASK> [   46.625953] [   46.626056] Allocated by task 678: [   46.626287]  kasan_save_stack+0x24/0x44 [   46.626555]  kasan_save_track+0x14/0x2d [   46.626811]  __kasan_kmalloc+0x3f/0x4d [   46.627049]  __kmalloc_noprof+0x1bf/0x1f0 [   46.627362]  typec_register_port+0x23/0x491 [   46.627698]  cros_typec_probe+0x634/0xbb6 [   46.628026]  platform_probe+0x47/0x8c [   46.628311]  really_probe+0x20a/0x47d [   46.628605]  device_driver_attach+0x39/0x72 [   46.628940]  bind_store+0x87/0xd7 [   46.629213]  kernfs_fop_write_iter+0x1aa/0x218 [   46.629574]  vfs_write+0x1d6/0x29b [   46.629856]  ksys_write+0xcd/0x13b [   46.630128]  do_syscall_64+0xd4/0x139 [   46.630420]  entry_SYSCALL_64_after_hwframe+0x76/0x7e [   46.630820] [   46.630946] Freed by task 48: [   46.631182]  kasan_save_stack+0x24/0x44 [   46.631493]  kasan_save_track+0x14/0x2d [   46.631799]  kasan_save_free_info+0x3f/0x4d [   46.632144]  __kasan_slab_free+0x37/0x45 [   46.632474] ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50151",
                        "url": "https://ubuntu.com/security/CVE-2024-50151",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smb: client: fix OOBs when building SMB2_IOCTL request  When using encryption, either enforced by the server or when using 'seal' mount option, the client will squash all compound request buffers down for encryption into a single iov in smb2_set_next_command().  SMB2_ioctl_init() allocates a small buffer (448 bytes) to hold the SMB2_IOCTL request in the first iov, and if the user passes an input buffer that is greater than 328 bytes, smb2_set_next_command() will end up writing off the end of @rqst->iov[0].iov_base as shown below:    mount.cifs //srv/share /mnt -o ...,seal   ln -s $(perl -e \"print('a')for 1..1024\") /mnt/link    BUG: KASAN: slab-out-of-bounds in   smb2_set_next_command.cold+0x1d6/0x24c [cifs]   Write of size 4116 at addr ffff8881148fcab8 by task ln/859    CPU: 1 UID: 0 PID: 859 Comm: ln Not tainted 6.12.0-rc3 #1   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS   1.16.3-2.fc40 04/01/2014   Call Trace:    <TASK>    dump_stack_lvl+0x5d/0x80    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    print_report+0x156/0x4d9    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    ? __virt_addr_valid+0x145/0x310    ? __phys_addr+0x46/0x90    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    kasan_report+0xda/0x110    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    kasan_check_range+0x10f/0x1f0    __asan_memcpy+0x3c/0x60    smb2_set_next_command.cold+0x1d6/0x24c [cifs]    smb2_compound_op+0x238c/0x3840 [cifs]    ? kasan_save_track+0x14/0x30    ? kasan_save_free_info+0x3b/0x70    ? vfs_symlink+0x1a1/0x2c0    ? do_symlinkat+0x108/0x1c0    ? __pfx_smb2_compound_op+0x10/0x10 [cifs]    ? kmem_cache_free+0x118/0x3e0    ? cifs_get_writable_path+0xeb/0x1a0 [cifs]    smb2_get_reparse_inode+0x423/0x540 [cifs]    ? __pfx_smb2_get_reparse_inode+0x10/0x10 [cifs]    ? rcu_is_watching+0x20/0x50    ? __kmalloc_noprof+0x37c/0x480    ? smb2_create_reparse_symlink+0x257/0x490 [cifs]    ? smb2_create_reparse_symlink+0x38f/0x490 [cifs]    smb2_create_reparse_symlink+0x38f/0x490 [cifs]    ? __pfx_smb2_create_reparse_symlink+0x10/0x10 [cifs]    ? find_held_lock+0x8a/0xa0    ? hlock_class+0x32/0xb0    ? __build_path_from_dentry_optional_prefix+0x19d/0x2e0 [cifs]    cifs_symlink+0x24f/0x960 [cifs]    ? __pfx_make_vfsuid+0x10/0x10    ? __pfx_cifs_symlink+0x10/0x10 [cifs]    ? make_vfsgid+0x6b/0xc0    ? generic_permission+0x96/0x2d0    vfs_symlink+0x1a1/0x2c0    do_symlinkat+0x108/0x1c0    ? __pfx_do_symlinkat+0x10/0x10    ? strncpy_from_user+0xaa/0x160    __x64_sys_symlinkat+0xb9/0xf0    do_syscall_64+0xbb/0x1d0    entry_SYSCALL_64_after_hwframe+0x77/0x7f   RIP: 0033:0x7f08d75c13bb",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50171",
                        "url": "https://ubuntu.com/security/CVE-2024-50171",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: systemport: fix potential memory leak in bcm_sysport_xmit()  The bcm_sysport_xmit() returns NETDEV_TX_OK without freeing skb in case of dma_map_single() fails, add dev_kfree_skb() to fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50202",
                        "url": "https://ubuntu.com/security/CVE-2024-50202",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: propagate directory read errors from nilfs_find_entry()  Syzbot reported that a task hang occurs in vcs_open() during a fuzzing test for nilfs2.  The root cause of this problem is that in nilfs_find_entry(), which searches for directory entries, ignores errors when loading a directory page/folio via nilfs_get_folio() fails.  If the filesystem images is corrupted, and the i_size of the directory inode is large, and the directory page/folio is successfully read but fails the sanity check, for example when it is zero-filled, nilfs_check_folio() may continue to spit out error messages in bursts.  Fix this issue by propagating the error to the callers when loading a page/folio fails in nilfs_find_entry().  The current interface of nilfs_find_entry() and its callers is outdated and cannot propagate error codes such as -EIO and -ENOMEM returned via nilfs_find_entry(), so fix it together.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50074",
                        "url": "https://ubuntu.com/security/CVE-2024-50074",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parport: Proper fix for array out-of-bounds access  The recent fix for array out-of-bounds accesses replaced sprintf() calls blindly with snprintf().  However, since snprintf() returns the would-be-printed size, not the actually output size, the length calculation can still go over the given limit.  Use scnprintf() instead of snprintf(), which returns the actually output letters, for addressing the potential out-of-bounds access properly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-29 01:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50082",
                        "url": "https://ubuntu.com/security/CVE-2024-50082",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  blk-rq-qos: fix crash on rq_qos_wait vs. rq_qos_wake_function race  We're seeing crashes from rq_qos_wake_function that look like this:    BUG: unable to handle page fault for address: ffffafe180a40084   #PF: supervisor write access in kernel mode   #PF: error_code(0x0002) - not-present page   PGD 100000067 P4D 100000067 PUD 10027c067 PMD 10115d067 PTE 0   Oops: Oops: 0002 [#1] PREEMPT SMP PTI   CPU: 17 UID: 0 PID: 0 Comm: swapper/17 Not tainted 6.12.0-rc3-00013-geca631b8fe80 #11   Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014   RIP: 0010:_raw_spin_lock_irqsave+0x1d/0x40   Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 41 54 9c 41 5c fa 65 ff 05 62 97 30 4c 31 c0 ba 01 00 00 00 <f0> 0f b1 17 75 0a 4c 89 e0 41 5c c3 cc cc cc cc 89 c6 e8 2c 0b 00   RSP: 0018:ffffafe180580ca0 EFLAGS: 00010046   RAX: 0000000000000000 RBX: ffffafe180a3f7a8 RCX: 0000000000000011   RDX: 0000000000000001 RSI: 0000000000000003 RDI: ffffafe180a40084   RBP: 0000000000000000 R08: 00000000001e7240 R09: 0000000000000011   R10: 0000000000000028 R11: 0000000000000888 R12: 0000000000000002   R13: ffffafe180a40084 R14: 0000000000000000 R15: 0000000000000003   FS:  0000000000000000(0000) GS:ffff9aaf1f280000(0000) knlGS:0000000000000000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: ffffafe180a40084 CR3: 000000010e428002 CR4: 0000000000770ef0   DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000   DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400   PKRU: 55555554   Call Trace:    <IRQ>    try_to_wake_up+0x5a/0x6a0    rq_qos_wake_function+0x71/0x80    __wake_up_common+0x75/0xa0    __wake_up+0x36/0x60    scale_up.part.0+0x50/0x110    wb_timer_fn+0x227/0x450    ...  So rq_qos_wake_function() calls wake_up_process(data->task), which calls try_to_wake_up(), which faults in raw_spin_lock_irqsave(&p->pi_lock).  p comes from data->task, and data comes from the waitqueue entry, which is stored on the waiter's stack in rq_qos_wait(). Analyzing the core dump with drgn, I found that the waiter had already woken up and moved on to a completely unrelated code path, clobbering what was previously data->task. Meanwhile, the waker was passing the clobbered garbage in data->task to wake_up_process(), leading to the crash.  What's happening is that in between rq_qos_wake_function() deleting the waitqueue entry and calling wake_up_process(), rq_qos_wait() is finding that it already got a token and returning. The race looks like this:  rq_qos_wait()                           rq_qos_wake_function() ============================================================== prepare_to_wait_exclusive()                                         data->got_token = true;                                         list_del_init(&curr->entry); if (data.got_token)         break; finish_wait(&rqw->wait, &data.wq);   ^- returns immediately because      list_empty_careful(&wq_entry->entry)      is true ... return, go do something else ...                                         wake_up_process(data->task)                                           (NO LONGER VALID!)-^  Normally, finish_wait() is supposed to synchronize against the waker. But, as noted above, it is returning immediately because the waitqueue entry has already been removed from the waitqueue.  The bug is that rq_qos_wake_function() is accessing the waitqueue entry AFTER deleting it. Note that autoremove_wake_function() wakes the waiter and THEN deletes the waitqueue entry, which is the proper order.  Fix it by swapping the order. We also need to use list_del_init_careful() to match the list_empty_careful() in finish_wait().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-29 01:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-40953",
                        "url": "https://ubuntu.com/security/CVE-2024-40953",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()  Use {READ,WRITE}_ONCE() to access kvm->last_boosted_vcpu to ensure the loads and stores are atomic.  In the extremely unlikely scenario the compiler tears the stores, it's theoretically possible for KVM to attempt to get a vCPU using an out-of-bounds index, e.g. if the write is split into multiple 8-bit stores, and is paired with a 32-bit load on a VM with 257 vCPUs:    CPU0                              CPU1   last_boosted_vcpu = 0xff;                                      (last_boosted_vcpu = 0x100)                                     last_boosted_vcpu[15:8] = 0x01;   i = (last_boosted_vcpu = 0x1ff)                                     last_boosted_vcpu[7:0] = 0x00;    vcpu = kvm->vcpu_array[0x1ff];  As detected by KCSAN:    BUG: KCSAN: data-race in kvm_vcpu_on_spin [kvm] / kvm_vcpu_on_spin [kvm]    write to 0xffffc90025a92344 of 4 bytes by task 4340 on cpu 16:   kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4112) kvm   handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel   vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? \t\t arch/x86/kvm/vmx/vmx.c:6606) kvm_intel   vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm   kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm   kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm   __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)   __x64_sys_ioctl (fs/ioctl.c:890)   x64_sys_call (arch/x86/entry/syscall_64.c:33)   do_syscall_64 (arch/x86/entry/common.c:?)   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)    read to 0xffffc90025a92344 of 4 bytes by task 4342 on cpu 4:   kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4069) kvm   handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel   vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? \t\t\tarch/x86/kvm/vmx/vmx.c:6606) kvm_intel   vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm   kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm   kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm   __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)   __x64_sys_ioctl (fs/ioctl.c:890)   x64_sys_call (arch/x86/entry/syscall_64.c:33)   do_syscall_64 (arch/x86/entry/common.c:?)   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)    value changed: 0x00000012 -> 0x00000000",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-12 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50199",
                        "url": "https://ubuntu.com/security/CVE-2024-50199",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mm/swapfile: skip HugeTLB pages for unuse_vma  I got a bad pud error and lost a 1GB HugeTLB when calling swapoff.  The problem can be reproduced by the following steps:   1. Allocate an anonymous 1GB HugeTLB and some other anonymous memory.  2. Swapout the above anonymous memory.  3. run swapoff and we will get a bad pud error in kernel message:    mm/pgtable-generic.c:42: bad pud 00000000743d215d(84000001400000e7)  We can tell that pud_clear_bad is called by pud_none_or_clear_bad in unuse_pud_range() by ftrace.  And therefore the HugeTLB pages will never be freed because we lost it from page table.  We can skip HugeTLB pages for unuse_vma to fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50099",
                        "url": "https://ubuntu.com/security/CVE-2024-50099",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: probes: Remove broken LDR (literal) uprobe support  The simulate_ldr_literal() and simulate_ldrsw_literal() functions are unsafe to use for uprobes. Both functions were originally written for use with kprobes, and access memory with plain C accesses. When uprobes was added, these were reused unmodified even though they cannot safely access user memory.  There are three key problems:  1) The plain C accesses do not have corresponding extable entries, and    thus if they encounter a fault the kernel will treat these as    unintentional accesses to user memory, resulting in a BUG() which    will kill the kernel thread, and likely lead to further issues (e.g.    lockup or panic()).  2) The plain C accesses are subject to HW PAN and SW PAN, and so when    either is in use, any attempt to simulate an access to user memory    will fault. Thus neither simulate_ldr_literal() nor    simulate_ldrsw_literal() can do anything useful when simulating a    user instruction on any system with HW PAN or SW PAN.  3) The plain C accesses are privileged, as they run in kernel context,    and in practice can access a small range of kernel virtual addresses.    The instructions they simulate have a range of +/-1MiB, and since the    simulated instructions must itself be a user instructions in the    TTBR0 address range, these can address the final 1MiB of the TTBR1    acddress range by wrapping downwards from an address in the first    1MiB of the TTBR0 address range.     In contemporary kernels the last 8MiB of TTBR1 address range is    reserved, and accesses to this will always fault, meaning this is no    worse than (1).     Historically, it was theoretically possible for the linear map or    vmemmap to spill into the final 8MiB of the TTBR1 address range, but    in practice this is extremely unlikely to occur as this would    require either:     * Having enough physical memory to fill the entire linear map all the      way to the final 1MiB of the TTBR1 address range.     * Getting unlucky with KASLR randomization of the linear map such      that the populated region happens to overlap with the last 1MiB of      the TTBR address range.     ... and in either case if we were to spill into the final page there    would be larger problems as the final page would alias with error    pointers.  Practically speaking, (1) and (2) are the big issues. Given there have been no reports of problems since the broken code was introduced, it appears that no-one is relying on probing these instructions with uprobes.  Avoid these issues by not allowing uprobes on LDR (literal) and LDRSW (literal), limiting the use of simulate_ldr_literal() and simulate_ldrsw_literal() to kprobes. Attempts to place uprobes on LDR (literal) and LDRSW (literal) will be rejected as arm_probe_decode_insn() will return INSN_REJECTED. In future we can consider introducing working uprobes support for these instructions, but this will require more significant work.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50195",
                        "url": "https://ubuntu.com/security/CVE-2024-50195",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  posix-clock: Fix missing timespec64 check in pc_clock_settime()  As Andrew pointed out, it will make sense that the PTP core checked timespec64 struct's tv_sec and tv_nsec range before calling ptp->info->settime64().  As the man manual of clock_settime() said, if tp.tv_sec is negative or tp.tv_nsec is outside the range [0..999,999,999], it should return EINVAL, which include dynamic clocks which handles PTP clock, and the condition is consistent with timespec64_valid(). As Thomas suggested, timespec64_valid() only check the timespec is valid, but not ensure that the time is in a valid range, so check it ahead using timespec64_valid_strict() in pc_clock_settime() and return -EINVAL if not valid.  There are some drivers that use tp->tv_sec and tp->tv_nsec directly to write registers without validity checks and assume that the higher layer has checked it, which is dangerous and will benefit from this, such as hclge_ptp_settime(), igb_ptp_settime_i210(), _rcar_gen4_ptp_settime(), and some drivers can remove the checks of itself.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50096",
                        "url": "https://ubuntu.com/security/CVE-2024-50096",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nouveau/dmem: Fix vulnerability in migrate_to_ram upon copy error  The `nouveau_dmem_copy_one` function ensures that the copy push command is sent to the device firmware but does not track whether it was executed successfully.  In the case of a copy error (e.g., firmware or hardware failure), the copy push command will be sent via the firmware channel, and `nouveau_dmem_copy_one` will likely report success, leading to the `migrate_to_ram` function returning a dirty HIGH_USER page to the user.  This can result in a security vulnerability, as a HIGH_USER page that may contain sensitive or corrupted data could be returned to the user.  To prevent this vulnerability, we allocate a zero page. Thus, in case of an error, a non-dirty (zero) page will be returned to the user.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 17:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50024",
                        "url": "https://ubuntu.com/security/CVE-2024-50024",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: Fix an unsafe loop on the list  The kernel may crash when deleting a genetlink family if there are still listeners for that family:  Oops: Kernel access of bad area, sig: 11 [#1]   ...   NIP [c000000000c080bc] netlink_update_socket_mc+0x3c/0xc0   LR [c000000000c0f764] __netlink_clear_multicast_users+0x74/0xc0   Call Trace: __netlink_clear_multicast_users+0x74/0xc0 genl_unregister_family+0xd4/0x2d0  Change the unsafe loop on the list to a safe one, because inside the loop there is an element removal from this list.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49878",
                        "url": "https://ubuntu.com/security/CVE-2024-49878",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  resource: fix region_intersects() vs add_memory_driver_managed()  On a system with CXL memory, the resource tree (/proc/iomem) related to CXL memory may look like something as follows.  490000000-50fffffff : CXL Window 0   490000000-50fffffff : region0     490000000-50fffffff : dax0.0       490000000-50fffffff : System RAM (kmem)  Because drivers/dax/kmem.c calls add_memory_driver_managed() during onlining CXL memory, which makes \"System RAM (kmem)\" a descendant of \"CXL Window X\".  This confuses region_intersects(), which expects all \"System RAM\" resources to be at the top level of iomem_resource.  This can lead to bugs.  For example, when the following command line is executed to write some memory in CXL memory range via /dev/mem,   $ dd if=data of=/dev/mem bs=$((1 << 10)) seek=$((0x490000000 >> 10)) count=1  dd: error writing '/dev/mem': Bad address  1+0 records in  0+0 records out  0 bytes copied, 0.0283507 s, 0.0 kB/s  the command fails as expected.  However, the error code is wrong.  It should be \"Operation not permitted\" instead of \"Bad address\".  More seriously, the /dev/mem permission checking in devmem_is_allowed() passes incorrectly.  Although the accessing is prevented later because ioremap() isn't allowed to map system RAM, it is a potential security issue.  During command executing, the following warning is reported in the kernel log for calling ioremap() on system RAM.   ioremap on RAM at 0x0000000490000000 - 0x0000000490000fff  WARNING: CPU: 2 PID: 416 at arch/x86/mm/ioremap.c:216 __ioremap_caller.constprop.0+0x131/0x35d  Call Trace:   memremap+0xcb/0x184   xlate_dev_mem_ptr+0x25/0x2f   write_mem+0x94/0xfb   vfs_write+0x128/0x26d   ksys_write+0xac/0xfe   do_syscall_64+0x9a/0xfd   entry_SYSCALL_64_after_hwframe+0x4b/0x53  The details of command execution process are as follows.  In the above resource tree, \"System RAM\" is a descendant of \"CXL Window 0\" instead of a top level resource.  So, region_intersects() will report no System RAM resources in the CXL memory region incorrectly, because it only checks the top level resources.  Consequently, devmem_is_allowed() will return 1 (allow access via /dev/mem) for CXL memory region incorrectly. Fortunately, ioremap() doesn't allow to map System RAM and reject the access.  So, region_intersects() needs to be fixed to work correctly with the resource tree with \"System RAM\" not at top level as above.  To fix it, if we found a unmatched resource in the top level, we will continue to search matched resources in its descendant resources.  So, we will not miss any matched resources in resource tree anymore.  In the new implementation, an example resource tree  |------------- \"CXL Window 0\" ------------| |-- \"System RAM\" --|  will behave similar as the following fake resource tree for region_intersects(, IORESOURCE_SYSTEM_RAM, ),  |-- \"System RAM\" --||-- \"CXL Window 0a\" --|  Where \"CXL Window 0a\" is part of the original \"CXL Window 0\" that isn't covered by \"System RAM\".",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50033",
                        "url": "https://ubuntu.com/security/CVE-2024-50033",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  slip: make slhc_remember() more robust against malicious packets  syzbot found that slhc_remember() was missing checks against malicious packets [1].  slhc_remember() only checked the size of the packet was at least 20, which is not good enough.  We need to make sure the packet includes the IPv4 and TCP header that are supposed to be carried.  Add iph and th pointers to make the code more readable.  [1]  BUG: KMSAN: uninit-value in slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666   slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666   ppp_receive_nonmp_frame+0xe45/0x35e0 drivers/net/ppp/ppp_generic.c:2455   ppp_receive_frame drivers/net/ppp/ppp_generic.c:2372 [inline]   ppp_do_recv+0x65f/0x40d0 drivers/net/ppp/ppp_generic.c:2212   ppp_input+0x7dc/0xe60 drivers/net/ppp/ppp_generic.c:2327   pppoe_rcv_core+0x1d3/0x720 drivers/net/ppp/pppoe.c:379   sk_backlog_rcv+0x13b/0x420 include/net/sock.h:1113   __release_sock+0x1da/0x330 net/core/sock.c:3072   release_sock+0x6b/0x250 net/core/sock.c:3626   pppoe_sendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was created at:   slab_post_alloc_hook mm/slub.c:4091 [inline]   slab_alloc_node mm/slub.c:4134 [inline]   kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4186   kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:587   __alloc_skb+0x363/0x7b0 net/core/skbuff.c:678   alloc_skb include/linux/skbuff.h:1322 [inline]   sock_wmalloc+0xfe/0x1a0 net/core/sock.c:2732   pppoe_sendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  CPU: 0 UID: 0 PID: 5460 Comm: syz.2.33 Not tainted 6.12.0-rc2-syzkaller-00006-g87d6aab2389e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50035",
                        "url": "https://ubuntu.com/security/CVE-2024-50035",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ppp: fix ppp_async_encode() illegal access  syzbot reported an issue in ppp_async_encode() [1]  In this case, pppoe_sendmsg() is called with a zero size. Then ppp_async_encode() is called with an empty skb.  BUG: KMSAN: uninit-value in ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline]  BUG: KMSAN: uninit-value in ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675   ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline]   ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675   ppp_async_send+0x130/0x1b0 drivers/net/ppp/ppp_async.c:634   ppp_channel_bridge_input drivers/net/ppp/ppp_generic.c:2280 [inline]   ppp_input+0x1f1/0xe60 drivers/net/ppp/ppp_generic.c:2304   pppoe_rcv_core+0x1d3/0x720 drivers/net/ppp/pppoe.c:379   sk_backlog_rcv+0x13b/0x420 include/net/sock.h:1113   __release_sock+0x1da/0x330 net/core/sock.c:3072   release_sock+0x6b/0x250 net/core/sock.c:3626   pppoe_sendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was created at:   slab_post_alloc_hook mm/slub.c:4092 [inline]   slab_alloc_node mm/slub.c:4135 [inline]   kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4187   kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:587   __alloc_skb+0x363/0x7b0 net/core/skbuff.c:678   alloc_skb include/linux/skbuff.h:1322 [inline]   sock_wmalloc+0xfe/0x1a0 net/core/sock.c:2732   pppoe_sendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  CPU: 1 UID: 0 PID: 5411 Comm: syz.1.14 Not tainted 6.12.0-rc1-syzkaller-00165-g360c1f1f24c6 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50039",
                        "url": "https://ubuntu.com/security/CVE-2024-50039",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: accept TCA_STAB only for root qdisc  Most qdiscs maintain their backlog using qdisc_pkt_len(skb) on the assumption it is invariant between the enqueue() and dequeue() handlers.  Unfortunately syzbot can crash a host rather easily using a TBF + SFQ combination, with an STAB on SFQ [1]  We can't support TCA_STAB on arbitrary level, this would require to maintain per-qdisc storage.  [1] [   88.796496] BUG: kernel NULL pointer dereference, address: 0000000000000000 [   88.798611] #PF: supervisor read access in kernel mode [   88.799014] #PF: error_code(0x0000) - not-present page [   88.799506] PGD 0 P4D 0 [   88.799829] Oops: Oops: 0000 [#1] SMP NOPTI [   88.800569] CPU: 14 UID: 0 PID: 2053 Comm: b371744477 Not tainted 6.12.0-rc1-virtme #1117 [   88.801107] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [   88.801779] RIP: 0010:sfq_dequeue (net/sched/sch_sfq.c:272 net/sched/sch_sfq.c:499) sch_sfq [ 88.802544] Code: 0f b7 50 12 48 8d 04 d5 00 00 00 00 48 89 d6 48 29 d0 48 8b 91 c0 01 00 00 48 c1 e0 03 48 01 c2 66 83 7a 1a 00 7e c0 48 8b 3a <4c> 8b 07 4c 89 02 49 89 50 08 48 c7 47 08 00 00 00 00 48 c7 07 00 All code ========    0:\t0f b7 50 12          \tmovzwl 0x12(%rax),%edx    4:\t48 8d 04 d5 00 00 00 \tlea    0x0(,%rdx,8),%rax    b:\t00    c:\t48 89 d6             \tmov    %rdx,%rsi    f:\t48 29 d0             \tsub    %rdx,%rax   12:\t48 8b 91 c0 01 00 00 \tmov    0x1c0(%rcx),%rdx   19:\t48 c1 e0 03          \tshl    $0x3,%rax   1d:\t48 01 c2             \tadd    %rax,%rdx   20:\t66 83 7a 1a 00       \tcmpw   $0x0,0x1a(%rdx)   25:\t7e c0                \tjle    0xffffffffffffffe7   27:\t48 8b 3a             \tmov    (%rdx),%rdi   2a:*\t4c 8b 07             \tmov    (%rdi),%r8\t\t<-- trapping instruction   2d:\t4c 89 02             \tmov    %r8,(%rdx)   30:\t49 89 50 08          \tmov    %rdx,0x8(%r8)   34:\t48 c7 47 08 00 00 00 \tmovq   $0x0,0x8(%rdi)   3b:\t00   3c:\t48                   \trex.W   3d:\tc7                   \t.byte 0xc7   3e:\t07                   \t(bad) \t...  Code starting with the faulting instruction ===========================================    0:\t4c 8b 07             \tmov    (%rdi),%r8    3:\t4c 89 02             \tmov    %r8,(%rdx)    6:\t49 89 50 08          \tmov    %rdx,0x8(%r8)    a:\t48 c7 47 08 00 00 00 \tmovq   $0x0,0x8(%rdi)   11:\t00   12:\t48                   \trex.W   13:\tc7                   \t.byte 0xc7   14:\t07                   \t(bad) \t... [   88.803721] RSP: 0018:ffff9a1f892b7d58 EFLAGS: 00000206 [   88.804032] RAX: 0000000000000000 RBX: ffff9a1f8420c800 RCX: ffff9a1f8420c800 [   88.804560] RDX: ffff9a1f81bc1440 RSI: 0000000000000000 RDI: 0000000000000000 [   88.805056] RBP: ffffffffc04bb0e0 R08: 0000000000000001 R09: 00000000ff7f9a1f [   88.805473] R10: 000000000001001b R11: 0000000000009a1f R12: 0000000000000140 [   88.806194] R13: 0000000000000001 R14: ffff9a1f886df400 R15: ffff9a1f886df4ac [   88.806734] FS:  00007f445601a740(0000) GS:ffff9a2e7fd80000(0000) knlGS:0000000000000000 [   88.807225] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [   88.807672] CR2: 0000000000000000 CR3: 000000050cc46000 CR4: 00000000000006f0 [   88.808165] Call Trace: [   88.808459]  <TASK> [   88.808710] ? __die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434) [   88.809261] ? page_fault_oops (arch/x86/mm/fault.c:715) [   88.809561] ? exc_page_fault (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:87 ./arch/x86/include/asm/irqflags.h:147 arch/x86/mm/fault.c:1489 arch/x86/mm/fault.c:1539) [   88.809806] ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) [   88.810074] ? sfq_dequeue (net/sched/sch_sfq.c:272 net/sched/sch_sfq.c:499) sch_sfq [   88.810411] sfq_reset (net/sched/sch_sfq.c:525) sch_sfq [   88.810671] qdisc_reset (./include/linux/skbuff.h:2135 ./include/linux/skbuff.h:2441 ./include/linux/skbuff.h:3304 ./include/linux/skbuff.h:3310 net/sched/sch_g ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50040",
                        "url": "https://ubuntu.com/security/CVE-2024-50040",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  igb: Do not bring the device up after non-fatal error  Commit 004d25060c78 (\"igb: Fix igb_down hung on surprise removal\") changed igb_io_error_detected() to ignore non-fatal pcie errors in order to avoid hung task that can happen when igb_down() is called multiple times. This caused an issue when processing transient non-fatal errors. igb_io_resume(), which is called after igb_io_error_detected(), assumes that device is brought down by igb_io_error_detected() if the interface is up. This resulted in panic with stacktrace below.  [ T3256] igb 0000:09:00.0 haeth0: igb: haeth0 NIC Link is Down [  T292] pcieport 0000:00:1c.5: AER: Uncorrected (Non-Fatal) error received: 0000:09:00.0 [  T292] igb 0000:09:00.0: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Requester ID) [  T292] igb 0000:09:00.0:   device [8086:1537] error status/mask=00004000/00000000 [  T292] igb 0000:09:00.0:    [14] CmpltTO [  200.105524,009][  T292] igb 0000:09:00.0: AER:   TLP Header: 00000000 00000000 00000000 00000000 [  T292] pcieport 0000:00:1c.5: AER: broadcast error_detected message [  T292] igb 0000:09:00.0: Non-correctable non-fatal error reported. [  T292] pcieport 0000:00:1c.5: AER: broadcast mmio_enabled message [  T292] pcieport 0000:00:1c.5: AER: broadcast resume message [  T292] ------------[ cut here ]------------ [  T292] kernel BUG at net/core/dev.c:6539! [  T292] invalid opcode: 0000 [#1] PREEMPT SMP [  T292] RIP: 0010:napi_enable+0x37/0x40 [  T292] Call Trace: [  T292]  <TASK> [  T292]  ? die+0x33/0x90 [  T292]  ? do_trap+0xdc/0x110 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? do_error_trap+0x70/0xb0 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? exc_invalid_op+0x4e/0x70 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? asm_exc_invalid_op+0x16/0x20 [  T292]  ? napi_enable+0x37/0x40 [  T292]  igb_up+0x41/0x150 [  T292]  igb_io_resume+0x25/0x70 [  T292]  report_resume+0x54/0x70 [  T292]  ? report_frozen_detected+0x20/0x20 [  T292]  pci_walk_bus+0x6c/0x90 [  T292]  ? aer_print_port_info+0xa0/0xa0 [  T292]  pcie_do_recovery+0x22f/0x380 [  T292]  aer_process_err_devices+0x110/0x160 [  T292]  aer_isr+0x1c1/0x1e0 [  T292]  ? disable_irq_nosync+0x10/0x10 [  T292]  irq_thread_fn+0x1a/0x60 [  T292]  irq_thread+0xe3/0x1a0 [  T292]  ? irq_set_affinity_notifier+0x120/0x120 [  T292]  ? irq_affinity_notify+0x100/0x100 [  T292]  kthread+0xe2/0x110 [  T292]  ? kthread_complete_and_exit+0x20/0x20 [  T292]  ret_from_fork+0x2d/0x50 [  T292]  ? kthread_complete_and_exit+0x20/0x20 [  T292]  ret_from_fork_asm+0x11/0x20 [  T292]  </TASK>  To fix this issue igb_io_resume() checks if the interface is running and the device is not down this means igb_io_error_detected() did not bring the device down and there is no need to bring it up.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50044",
                        "url": "https://ubuntu.com/security/CVE-2024-50044",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: RFCOMM: FIX possible deadlock in rfcomm_sk_state_change  rfcomm_sk_state_change attempts to use sock_lock so it must never be called with it locked but rfcomm_sock_ioctl always attempt to lock it causing the following trace:  ====================================================== WARNING: possible circular locking dependency detected 6.8.0-syzkaller-08951-gfe46a7dd189e #0 Not tainted ------------------------------------------------------ syz-executor386/5093 is trying to acquire lock: ffff88807c396258 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1671 [inline] ffff88807c396258 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, at: rfcomm_sk_state_change+0x5b/0x310 net/bluetooth/rfcomm/sock.c:73  but task is already holding lock: ffff88807badfd28 (&d->lock){+.+.}-{3:3}, at: __rfcomm_dlc_close+0x226/0x6a0 net/bluetooth/rfcomm/core.c:491",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50045",
                        "url": "https://ubuntu.com/security/CVE-2024-50045",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: br_netfilter: fix panic with metadata_dst skb  Fix a kernel panic in the br_netfilter module when sending untagged traffic via a VxLAN device. This happens during the check for fragmentation in br_nf_dev_queue_xmit.  It is dependent on: 1) the br_netfilter module being loaded; 2) net.bridge.bridge-nf-call-iptables set to 1; 3) a bridge with a VxLAN (single-vxlan-device) netdevice as a bridge port; 4) untagged frames with size higher than the VxLAN MTU forwarded/flooded  When forwarding the untagged packet to the VxLAN bridge port, before the netfilter hooks are called, br_handle_egress_vlan_tunnel is called and changes the skb_dst to the tunnel dst. The tunnel_dst is a metadata type of dst, i.e., skb_valid_dst(skb) is false, and metadata->dst.dev is NULL.  Then in the br_netfilter hooks, in br_nf_dev_queue_xmit, there's a check for frames that needs to be fragmented: frames with higher MTU than the VxLAN device end up calling br_nf_ip_fragment, which in turns call ip_skb_dst_mtu.  The ip_dst_mtu tries to use the skb_dst(skb) as if it was a valid dst with valid dst->dev, thus the crash.  This case was never supported in the first place, so drop the packet instead.  PING 10.0.0.2 (10.0.0.2) from 0.0.0.0 h1-eth0: 2000(2028) bytes of data. [  176.291791] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000110 [  176.292101] Mem abort info: [  176.292184]   ESR = 0x0000000096000004 [  176.292322]   EC = 0x25: DABT (current EL), IL = 32 bits [  176.292530]   SET = 0, FnV = 0 [  176.292709]   EA = 0, S1PTW = 0 [  176.292862]   FSC = 0x04: level 0 translation fault [  176.293013] Data abort info: [  176.293104]   ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [  176.293488]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [  176.293787]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [  176.293995] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000043ef5000 [  176.294166] [0000000000000110] pgd=0000000000000000, p4d=0000000000000000 [  176.294827] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP [  176.295252] Modules linked in: vxlan ip6_udp_tunnel udp_tunnel veth br_netfilter bridge stp llc ipv6 crct10dif_ce [  176.295923] CPU: 0 PID: 188 Comm: ping Not tainted 6.8.0-rc3-g5b3fbd61b9d1 #2 [  176.296314] Hardware name: linux,dummy-virt (DT) [  176.296535] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [  176.296808] pc : br_nf_dev_queue_xmit+0x390/0x4ec [br_netfilter] [  176.297382] lr : br_nf_dev_queue_xmit+0x2ac/0x4ec [br_netfilter] [  176.297636] sp : ffff800080003630 [  176.297743] x29: ffff800080003630 x28: 0000000000000008 x27: ffff6828c49ad9f8 [  176.298093] x26: ffff6828c49ad000 x25: 0000000000000000 x24: 00000000000003e8 [  176.298430] x23: 0000000000000000 x22: ffff6828c4960b40 x21: ffff6828c3b16d28 [  176.298652] x20: ffff6828c3167048 x19: ffff6828c3b16d00 x18: 0000000000000014 [  176.298926] x17: ffffb0476322f000 x16: ffffb7e164023730 x15: 0000000095744632 [  176.299296] x14: ffff6828c3f1c880 x13: 0000000000000002 x12: ffffb7e137926a70 [  176.299574] x11: 0000000000000001 x10: ffff6828c3f1c898 x9 : 0000000000000000 [  176.300049] x8 : ffff6828c49bf070 x7 : 0008460f18d5f20e x6 : f20e0100bebafeca [  176.300302] x5 : ffff6828c7f918fe x4 : ffff6828c49bf070 x3 : 0000000000000000 [  176.300586] x2 : 0000000000000000 x1 : ffff6828c3c7ad00 x0 : ffff6828c7f918f0 [  176.300889] Call trace: [  176.301123]  br_nf_dev_queue_xmit+0x390/0x4ec [br_netfilter] [  176.301411]  br_nf_post_routing+0x2a8/0x3e4 [br_netfilter] [  176.301703]  nf_hook_slow+0x48/0x124 [  176.302060]  br_forward_finish+0xc8/0xe8 [bridge] [  176.302371]  br_nf_hook_thresh+0x124/0x134 [br_netfilter] [  176.302605]  br_nf_forward_finish+0x118/0x22c [br_netfilter] [  176.302824]  br_nf_forward_ip.part.0+0x264/0x290 [br_netfilter] [  176.303136]  br_nf_forward+0x2b8/0x4e0 [br_netfilter] [  176.303359]  nf_hook_slow+0x48/0x124 [  176.303 ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-38544",
                        "url": "https://ubuntu.com/security/CVE-2024-38544",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt In rxe_comp_queue_pkt() an incoming response packet skb is enqueued to the resp_pkts queue and then a decision is made whether to run the completer task inline or schedule it. Finally the skb is dereferenced to bump a 'hw' performance counter. This is wrong because if the completer task is already running in a separate thread it may have already processed the skb and freed it which can cause a seg fault. This has been observed infrequently in testing at high scale. This patch fixes this by changing the order of enqueuing the packet until after the counter is accessed.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-06-19 14:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50180",
                        "url": "https://ubuntu.com/security/CVE-2024-50180",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fbdev: sisfb: Fix strbuf array overflow  The values of the variables xres and yres are placed in strbuf. These variables are obtained from strbuf1. The strbuf1 array contains digit characters and a space if the array contains non-digit characters. Then, when executing sprintf(strbuf, \"%ux%ux8\", xres, yres); more than 16 bytes will be written to strbuf. It is suggested to increase the size of the strbuf array to 24.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50184",
                        "url": "https://ubuntu.com/security/CVE-2024-50184",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  virtio_pmem: Check device status before requesting flush  If a pmem device is in a bad status, the driver side could wait for host ack forever in virtio_pmem_flush(), causing the system to hang.  So add a status check in the beginning of virtio_pmem_flush() to return early if the device is not activated.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50059",
                        "url": "https://ubuntu.com/security/CVE-2024-50059",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition  In the switchtec_ntb_add function, it can call switchtec_ntb_init_sndev function, then &sndev->check_link_status_work is bound with check_link_status_work. switchtec_ntb_link_notification may be called to start the work.  If we remove the module which will call switchtec_ntb_remove to make cleanup, it will free sndev through kfree(sndev), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                 CPU1                          | check_link_status_work switchtec_ntb_remove    | kfree(sndev);           |                         | if (sndev->link_force_down)                         | // use sndev  Fix it by ensuring that the work is canceled before proceeding with the cleanup in switchtec_ntb_remove.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50089",
                        "url": "https://ubuntu.com/security/CVE-2024-50089",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 17:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49955",
                        "url": "https://ubuntu.com/security/CVE-2024-49955",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPI: battery: Fix possible crash when unregistering a battery hook  When a battery hook returns an error when adding a new battery, then the battery hook is automatically unregistered. However the battery hook provider cannot know that, so it will later call battery_hook_unregister() on the already unregistered battery hook, resulting in a crash.  Fix this by using the list head to mark already unregistered battery hooks as already being unregistered so that they can be ignored by battery_hook_unregister().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49973",
                        "url": "https://ubuntu.com/security/CVE-2024-49973",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  r8169: add tally counter fields added with RTL8125  RTL8125 added fields to the tally counter, what may result in the chip dma'ing these new fields to unallocated memory. Therefore make sure that the allocated memory area is big enough to hold all of the tally counter values, even if we use only parts of it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49975",
                        "url": "https://ubuntu.com/security/CVE-2024-49975",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  uprobes: fix kernel info leak via \"[uprobes]\" vma  xol_add_vma() maps the uninitialized page allocated by __create_xol_area() into userspace. On some architectures (x86) this memory is readable even without VM_READ, VM_EXEC results in the same pgprot_t as VM_EXEC|VM_READ, although this doesn't really matter, debugger can read this memory anyway.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49867",
                        "url": "https://ubuntu.com/security/CVE-2024-49867",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: wait for fixup workers before stopping cleaner kthread during umount  During unmount, at close_ctree(), we have the following steps in this order:  1) Park the cleaner kthread - this doesn't destroy the kthread, it basically    halts its execution (wake ups against it work but do nothing);  2) We stop the cleaner kthread - this results in freeing the respective    struct task_struct;  3) We call btrfs_stop_all_workers() which waits for any jobs running in all    the work queues and then free the work queues.  Syzbot reported a case where a fixup worker resulted in a crash when doing a delayed iput on its inode while attempting to wake up the cleaner at btrfs_add_delayed_iput(), because the task_struct of the cleaner kthread was already freed. This can happen during unmount because we don't wait for any fixup workers still running before we call kthread_stop() against the cleaner kthread, which stops and free all its resources.  Fix this by waiting for any fixup workers at close_ctree() before we call kthread_stop() against the cleaner and run pending delayed iputs.  The stack traces reported by syzbot were the following:    BUG: KASAN: slab-use-after-free in __lock_acquire+0x77/0x2050 kernel/locking/lockdep.c:5065   Read of size 8 at addr ffff8880272a8a18 by task kworker/u8:3/52    CPU: 1 UID: 0 PID: 52 Comm: kworker/u8:3 Not tainted 6.12.0-rc1-syzkaller #0   Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024   Workqueue: btrfs-fixup btrfs_work_helper   Call Trace:    <TASK>    __dump_stack lib/dump_stack.c:94 [inline]    dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120    print_address_description mm/kasan/report.c:377 [inline]    print_report+0x169/0x550 mm/kasan/report.c:488    kasan_report+0x143/0x180 mm/kasan/report.c:601    __lock_acquire+0x77/0x2050 kernel/locking/lockdep.c:5065    lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5825    __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]    _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162    class_raw_spinlock_irqsave_constructor include/linux/spinlock.h:551 [inline]    try_to_wake_up+0xb0/0x1480 kernel/sched/core.c:4154    btrfs_writepage_fixup_worker+0xc16/0xdf0 fs/btrfs/inode.c:2842    btrfs_work_helper+0x390/0xc50 fs/btrfs/async-thread.c:314    process_one_work kernel/workqueue.c:3229 [inline]    process_scheduled_works+0xa63/0x1850 kernel/workqueue.c:3310    worker_thread+0x870/0xd30 kernel/workqueue.c:3391    kthread+0x2f0/0x390 kernel/kthread.c:389    ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147    ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244    </TASK>    Allocated by task 2:    kasan_save_stack mm/kasan/common.c:47 [inline]    kasan_save_track+0x3f/0x80 mm/kasan/common.c:68    unpoison_slab_object mm/kasan/common.c:319 [inline]    __kasan_slab_alloc+0x66/0x80 mm/kasan/common.c:345    kasan_slab_alloc include/linux/kasan.h:247 [inline]    slab_post_alloc_hook mm/slub.c:4086 [inline]    slab_alloc_node mm/slub.c:4135 [inline]    kmem_cache_alloc_node_noprof+0x16b/0x320 mm/slub.c:4187    alloc_task_struct_node kernel/fork.c:180 [inline]    dup_task_struct+0x57/0x8c0 kernel/fork.c:1107    copy_process+0x5d1/0x3d50 kernel/fork.c:2206    kernel_clone+0x223/0x880 kernel/fork.c:2787    kernel_thread+0x1bc/0x240 kernel/fork.c:2849    create_kthread kernel/kthread.c:412 [inline]    kthreadd+0x60d/0x810 kernel/kthread.c:765    ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147    ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244    Freed by task 61:    kasan_save_stack mm/kasan/common.c:47 [inline]    kasan_save_track+0x3f/0x80 mm/kasan/common.c:68    kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579    poison_slab_object mm/kasan/common.c:247 [inline]    __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264    kasan_slab_free include/linux/kasan.h:230 [inline]    slab_free_h ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49868",
                        "url": "https://ubuntu.com/security/CVE-2024-49868",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: fix a NULL pointer dereference when failed to start a new trasacntion  [BUG] Syzbot reported a NULL pointer dereference with the following crash:    FAULT_INJECTION: forcing a failure.    start_transaction+0x830/0x1670 fs/btrfs/transaction.c:676    prepare_to_relocate+0x31f/0x4c0 fs/btrfs/relocation.c:3642    relocate_block_group+0x169/0xd20 fs/btrfs/relocation.c:3678   ...   BTRFS info (device loop0): balance: ended with status: -12   Oops: general protection fault, probably for non-canonical address 0xdffffc00000000cc: 0000 [#1] PREEMPT SMP KASAN NOPTI   KASAN: null-ptr-deref in range [0x0000000000000660-0x0000000000000667]   RIP: 0010:btrfs_update_reloc_root+0x362/0xa80 fs/btrfs/relocation.c:926   Call Trace:    <TASK>    commit_fs_roots+0x2ee/0x720 fs/btrfs/transaction.c:1496    btrfs_commit_transaction+0xfaf/0x3740 fs/btrfs/transaction.c:2430    del_balance_item fs/btrfs/volumes.c:3678 [inline]    reset_balance_state+0x25e/0x3c0 fs/btrfs/volumes.c:3742    btrfs_balance+0xead/0x10c0 fs/btrfs/volumes.c:4574    btrfs_ioctl_balance+0x493/0x7c0 fs/btrfs/ioctl.c:3673    vfs_ioctl fs/ioctl.c:51 [inline]    __do_sys_ioctl fs/ioctl.c:907 [inline]    __se_sys_ioctl+0xf9/0x170 fs/ioctl.c:893    do_syscall_x64 arch/x86/entry/common.c:52 [inline]    do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83    entry_SYSCALL_64_after_hwframe+0x77/0x7f  [CAUSE] The allocation failure happens at the start_transaction() inside prepare_to_relocate(), and during the error handling we call unset_reloc_control(), which makes fs_info->balance_ctl to be NULL.  Then we continue the error path cleanup in btrfs_balance() by calling reset_balance_state() which will call del_balance_item() to fully delete the balance item in the root tree.  However during the small window between set_reloc_contrl() and unset_reloc_control(), we can have a subvolume tree update and created a reloc_root for that subvolume.  Then we go into the final btrfs_commit_transaction() of del_balance_item(), and into btrfs_update_reloc_root() inside commit_fs_roots().  That function checks if fs_info->reloc_ctl is in the merge_reloc_tree stage, but since fs_info->reloc_ctl is NULL, it results a NULL pointer dereference.  [FIX] Just add extra check on fs_info->reloc_ctl inside btrfs_update_reloc_root(), before checking fs_info->reloc_ctl->merge_reloc_tree.  That DEAD_RELOC_TREE handling is to prevent further modification to the reloc tree during merge stage, but since there is no reloc_ctl at all, we do not need to bother that.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49981",
                        "url": "https://ubuntu.com/security/CVE-2024-49981",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: venus: fix use after free bug in venus_remove due to race condition  in venus_probe, core->work is bound with venus_sys_error_handler, which is used to handle error. The code use core->sys_err_done to make sync work. The core->work is started in venus_event_notify.  If we call venus_remove, there might be an unfished work. The possible sequence is as follows:  CPU0                  CPU1                       |venus_sys_error_handler venus_remove         | hfi_destroy\t \t\t | venus_hfi_destroy\t | kfree(hdev);\t     |                      |hfi_reinit \t\t\t\t\t |venus_hfi_queues_reinit                      |//use hdev  Fix it by canceling the work in venus_remove.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49982",
                        "url": "https://ubuntu.com/security/CVE-2024-49982",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  aoe: fix the potential use-after-free problem in more places  For fixing CVE-2023-6270, f98364e92662 (\"aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts\") makes tx() calling dev_put() instead of doing in aoecmd_cfg_pkts(). It avoids that the tx() runs into use-after-free.  Then Nicolai Stange found more places in aoe have potential use-after-free problem with tx(). e.g. revalidate(), aoecmd_ata_rw(), resend(), probe() and aoecmd_cfg_rsp(). Those functions also use aoenet_xmit() to push packet to tx queue. So they should also use dev_hold() to increase the refcnt of skb->dev.  On the other hand, moving dev_put() to tx() causes that the refcnt of skb->dev be reduced to a negative value, because corresponding dev_hold() are not called in revalidate(), aoecmd_ata_rw(), resend(), probe(), and aoecmd_cfg_rsp(). This patch fixed this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49877",
                        "url": "https://ubuntu.com/security/CVE-2024-49877",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate  When doing cleanup, if flags without OCFS2_BH_READAHEAD, it may trigger NULL pointer dereference in the following ocfs2_set_buffer_uptodate() if bh is NULL.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49957",
                        "url": "https://ubuntu.com/security/CVE-2024-49957",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix null-ptr-deref when journal load failed.  During the mounting process, if journal_reset() fails because of too short journal, then lead to jbd2_journal_load() fails with NULL j_sb_buffer. Subsequently, ocfs2_journal_shutdown() calls jbd2_journal_flush()->jbd2_cleanup_journal_tail()-> __jbd2_update_log_tail()->jbd2_journal_update_sb_log_tail() ->lock_buffer(journal->j_sb_buffer), resulting in a null-pointer dereference error.  To resolve this issue, we should check the JBD2_LOADED flag to ensure the journal was properly loaded.  Additionally, use journal instead of osb->journal directly to simplify the code.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49965",
                        "url": "https://ubuntu.com/security/CVE-2024-49965",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: remove unreasonable unlock in ocfs2_read_blocks  Patch series \"Misc fixes for ocfs2_read_blocks\", v5.  This series contains 2 fixes for ocfs2_read_blocks().  The first patch fix the issue reported by syzbot, which detects bad unlock balance in ocfs2_read_blocks().  The second patch fixes an issue reported by Heming Zhao when reviewing above fix.   This patch (of 2):  There was a lock release before exiting, so remove the unreasonable unlock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49966",
                        "url": "https://ubuntu.com/security/CVE-2024-49966",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: cancel dqi_sync_work before freeing oinfo  ocfs2_global_read_info() will initialize and schedule dqi_sync_work at the end, if error occurs after successfully reading global quota, it will trigger the following warning with CONFIG_DEBUG_OBJECTS_* enabled:  ODEBUG: free active (active state 0) object: 00000000d8b0ce28 object type: timer_list hint: qsync_work_fn+0x0/0x16c  This reports that there is an active delayed work when freeing oinfo in error handling, so cancel dqi_sync_work first.  BTW, return status instead of -1 when .read_file_info fails.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49958",
                        "url": "https://ubuntu.com/security/CVE-2024-49958",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: reserve space for inline xattr before attaching reflink tree  One of our customers reported a crash and a corrupted ocfs2 filesystem. The crash was due to the detection of corruption.  Upon troubleshooting, the fsck -fn output showed the below corruption  [EXTENT_LIST_FREE] Extent list in owner 33080590 claims 230 as the next free chain record, but fsck believes the largest valid value is 227.  Clamp the next record value? n  The stat output from the debugfs.ocfs2 showed the following corruption where the \"Next Free Rec:\" had overshot the \"Count:\" in the root metadata block.          Inode: 33080590   Mode: 0640   Generation: 2619713622 (0x9c25a856)         FS Generation: 904309833 (0x35e6ac49)         CRC32: 00000000   ECC: 0000         Type: Regular   Attr: 0x0   Flags: Valid         Dynamic Features: (0x16) HasXattr InlineXattr Refcounted         Extended Attributes Block: 0  Extended Attributes Inline Size: 256         User: 0 (root)   Group: 0 (root)   Size: 281320357888         Links: 1   Clusters: 141738         ctime: 0x66911b56 0x316edcb8 -- Fri Jul 12 06:02:30.829349048 2024         atime: 0x66911d6b 0x7f7a28d -- Fri Jul 12 06:11:23.133669517 2024         mtime: 0x66911b56 0x12ed75d7 -- Fri Jul 12 06:02:30.317552087 2024         dtime: 0x0 -- Wed Dec 31 17:00:00 1969         Refcount Block: 2777346         Last Extblk: 2886943   Orphan Slot: 0         Sub Alloc Slot: 0   Sub Alloc Bit: 14         Tree Depth: 1   Count: 227   Next Free Rec: 230         ## Offset        Clusters       Block#         0  0             2310           2776351         1  2310          2139           2777375         2  4449          1221           2778399         3  5670          731            2779423         4  6401          566            2780447         .......          ....           .......         .......          ....           .......  The issue was in the reflink workfow while reserving space for inline xattr.  The problematic function is ocfs2_reflink_xattr_inline().  By the time this function is called the reflink tree is already recreated at the destination inode from the source inode.  At this point, this function reserves space for inline xattrs at the destination inode without even checking if there is space at the root metadata block.  It simply reduces the l_count from 243 to 227 thereby making space of 256 bytes for inline xattr whereas the inode already has extents beyond this index (in this case up to 230), thereby causing corruption.  The fix for this is to reserve space for inline metadata at the destination inode before the reflink tree gets recreated. The customer has verified the fix.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49959",
                        "url": "https://ubuntu.com/security/CVE-2024-49959",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error  In __jbd2_log_wait_for_space(), we might call jbd2_cleanup_journal_tail() to recover some journal space. But if an error occurs while executing jbd2_cleanup_journal_tail() (e.g., an EIO), we don't stop waiting for free space right away, we try other branches, and if j_committing_transaction is NULL (i.e., the tid is 0), we will get the following complain:  ============================================ JBD2: I/O error when updating journal superblock for sdd-8. __jbd2_log_wait_for_space: needed 256 blocks and only had 217 space available __jbd2_log_wait_for_space: no way to get more journal space in sdd-8 ------------[ cut here ]------------ WARNING: CPU: 2 PID: 139804 at fs/jbd2/checkpoint.c:109 __jbd2_log_wait_for_space+0x251/0x2e0 Modules linked in: CPU: 2 PID: 139804 Comm: kworker/u8:3 Not tainted 6.6.0+ #1 RIP: 0010:__jbd2_log_wait_for_space+0x251/0x2e0 Call Trace:  <TASK>  add_transaction_credits+0x5d1/0x5e0  start_this_handle+0x1ef/0x6a0  jbd2__journal_start+0x18b/0x340  ext4_dirty_inode+0x5d/0xb0  __mark_inode_dirty+0xe4/0x5d0  generic_update_time+0x60/0x70 [...] ============================================  So only if jbd2_cleanup_journal_tail() returns 1, i.e., there is nothing to clean up at the moment, continue to try to reclaim free space in other ways.  Note that this fix relies on commit 6f6a6fda2945 (\"jbd2: fix ocfs2 corrupt when updating journal superblock fails\") to make jbd2_cleanup_journal_tail return the correct error code.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49879",
                        "url": "https://ubuntu.com/security/CVE-2024-49879",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm: omapdrm: Add missing check for alloc_ordered_workqueue  As it may return NULL pointer and cause NULL pointer dereference. Add check for the return value of alloc_ordered_workqueue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49882",
                        "url": "https://ubuntu.com/security/CVE-2024-49882",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix double brelse() the buffer of the extents path  In ext4_ext_try_to_merge_up(), set path[1].p_bh to NULL after it has been released, otherwise it may be released twice. An example of what triggers this is as follows:    split2    map    split1 |--------|-------|--------|  ext4_ext_map_blocks  ext4_ext_handle_unwritten_extents   ext4_split_convert_extents    // path->p_depth == 0    ext4_split_extent      // 1. do split1      ext4_split_extent_at        |ext4_ext_insert_extent        |  ext4_ext_create_new_leaf        |    ext4_ext_grow_indepth        |      le16_add_cpu(&neh->eh_depth, 1)        |    ext4_find_extent        |      // return -ENOMEM        |// get error and try zeroout        |path = ext4_find_extent        |  path->p_depth = 1        |ext4_ext_try_to_merge        |  ext4_ext_try_to_merge_up        |    path->p_depth = 0        |    brelse(path[1].p_bh)  ---> not set to NULL here        |// zeroout success      // 2. update path      ext4_find_extent      // 3. do split2      ext4_split_extent_at        ext4_ext_insert_extent          ext4_ext_create_new_leaf            ext4_ext_grow_indepth              le16_add_cpu(&neh->eh_depth, 1)            ext4_find_extent              path[0].p_bh = NULL;              path->p_depth = 1              read_extent_tree_block  ---> return err              // path[1].p_bh is still the old value              ext4_free_ext_path                ext4_ext_drop_refs                  // path->p_depth == 1                  brelse(path[1].p_bh)  ---> brelse a buffer twice  Finally got the following WARRNING when removing the buffer from lru:  ============================================ VFS: brelse: Trying to free free buffer WARNING: CPU: 2 PID: 72 at fs/buffer.c:1241 __brelse+0x58/0x90 CPU: 2 PID: 72 Comm: kworker/u19:1 Not tainted 6.9.0-dirty #716 RIP: 0010:__brelse+0x58/0x90 Call Trace:  <TASK>  __find_get_block+0x6e7/0x810  bdev_getblk+0x2b/0x480  __ext4_get_inode_loc+0x48a/0x1240  ext4_get_inode_loc+0xb2/0x150  ext4_reserve_inode_write+0xb7/0x230  __ext4_mark_inode_dirty+0x144/0x6a0  ext4_ext_insert_extent+0x9c8/0x3230  ext4_ext_map_blocks+0xf45/0x2dc0  ext4_map_blocks+0x724/0x1700  ext4_do_writepages+0x12d6/0x2a70 [...] ============================================",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49883",
                        "url": "https://ubuntu.com/security/CVE-2024-49883",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: aovid use-after-free in ext4_ext_insert_extent()  As Ojaswin mentioned in Link, in ext4_ext_insert_extent(), if the path is reallocated in ext4_ext_create_new_leaf(), we'll use the stale path and cause UAF. Below is a sample trace with dummy values:  ext4_ext_insert_extent   path = *ppath = 2000   ext4_ext_create_new_leaf(ppath)     ext4_find_extent(ppath)       path = *ppath = 2000       if (depth > path[0].p_maxdepth)             kfree(path = 2000);             *ppath = path = NULL;       path = kcalloc() = 3000       *ppath = 3000;       return path;   /* here path is still 2000, UAF! */   eh = path[depth].p_hdr  ================================================================== BUG: KASAN: slab-use-after-free in ext4_ext_insert_extent+0x26d4/0x3330 Read of size 8 at addr ffff8881027bf7d0 by task kworker/u36:1/179 CPU: 3 UID: 0 PID: 179 Comm: kworker/u6:1 Not tainted 6.11.0-rc2-dirty #866 Call Trace:  <TASK>  ext4_ext_insert_extent+0x26d4/0x3330  ext4_ext_map_blocks+0xe22/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800 [...]  Allocated by task 179:  ext4_find_extent+0x81c/0x1f70  ext4_ext_map_blocks+0x146/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800  ext4_writepages+0x26d/0x4e0  do_writepages+0x175/0x700 [...]  Freed by task 179:  kfree+0xcb/0x240  ext4_find_extent+0x7c0/0x1f70  ext4_ext_insert_extent+0xa26/0x3330  ext4_ext_map_blocks+0xe22/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800  ext4_writepages+0x26d/0x4e0  do_writepages+0x175/0x700 [...] ==================================================================  So use *ppath to update the path to avoid the above problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49985",
                        "url": "https://ubuntu.com/security/CVE-2024-49985",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume  In case there is any sort of clock controller attached to this I2C bus controller, for example Versaclock or even an AIC32x4 I2C codec, then an I2C transfer triggered from the clock controller clk_ops .prepare callback may trigger a deadlock on drivers/clk/clk.c prepare_lock mutex.  This is because the clock controller first grabs the prepare_lock mutex and then performs the prepare operation, including its I2C access. The I2C access resumes this I2C bus controller via .runtime_resume callback, which calls clk_prepare_enable(), which attempts to grab the prepare_lock mutex again and deadlocks.  Since the clock are already prepared since probe() and unprepared in remove(), use simple clk_enable()/clk_disable() calls to enable and disable the clock on runtime suspend and resume, to avoid hitting the prepare_lock mutex.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50006",
                        "url": "https://ubuntu.com/security/CVE-2024-50006",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix i_data_sem unlock order in ext4_ind_migrate()  Fuzzing reports a possible deadlock in jbd2_log_wait_commit.  This issue is triggered when an EXT4_IOC_MIGRATE ioctl is set to require synchronous updates because the file descriptor is opened with O_SYNC. This can lead to the jbd2_journal_stop() function calling jbd2_might_wait_for_commit(), potentially causing a deadlock if the EXT4_IOC_MIGRATE call races with a write(2) system call.  This problem only arises when CONFIG_PROVE_LOCKING is enabled. In this case, the jbd2_might_wait_for_commit macro locks jbd2_handle in the jbd2_journal_stop function while i_data_sem is locked. This triggers lockdep because the jbd2_journal_start function might also lock the same jbd2_handle simultaneously.  Found by Linux Verification Center (linuxtesting.org) with syzkaller.  Rule: add",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 19:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49892",
                        "url": "https://ubuntu.com/security/CVE-2024-49892",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Initialize get_bytes_per_element's default to 1  Variables, used as denominators and maybe not assigned to other values, should not be 0. bytes_per_element_y & bytes_per_element_c are initialized by get_bytes_per_element() which should never return 0.  This fixes 10 DIVIDE_BY_ZERO issues reported by Coverity.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49894",
                        "url": "https://ubuntu.com/security/CVE-2024-49894",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Fix index out of bounds in degamma hardware format translation  Fixes index out of bounds issue in `cm_helper_translate_curve_to_degamma_hw_format` function. The issue could occur when the index 'i' exceeds the number of transfer function points (TRANSFER_FUNC_POINTS).  The fix adds a check to ensure 'i' is within bounds before accessing the transfer function points. If 'i' is out of bounds the function returns false to indicate an error.  Reported by smatch: drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:594 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.red' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:595 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.green' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:596 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.blue' 1025 <= s32max",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49896",
                        "url": "https://ubuntu.com/security/CVE-2024-49896",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Check stream before comparing them  [WHAT & HOW] amdgpu_dm can pass a null stream to dc_is_stream_unchanged. It is necessary to check for null before dereferencing them.  This fixes 1 FORWARD_NULL issue reported by Coverity.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49900",
                        "url": "https://ubuntu.com/security/CVE-2024-49900",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: Fix uninit-value access of new_ea in ea_buffer  syzbot reports that lzo1x_1_do_compress is using uninit-value:  ===================================================== BUG: KMSAN: uninit-value in lzo1x_1_do_compress+0x19f9/0x2510 lib/lzo/lzo1x_compress.c:178  ...  Uninit was stored to memory at:  ea_put fs/jfs/xattr.c:639 [inline]  ...  Local variable ea_buf created at:  __jfs_setxattr+0x5d/0x1ae0 fs/jfs/xattr.c:662  __jfs_xattr_set+0xe6/0x1f0 fs/jfs/xattr.c:934  =====================================================  The reason is ea_buf->new_ea is not initialized properly.  Fix this by using memset to empty its content at the beginning in ea_get().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49902",
                        "url": "https://ubuntu.com/security/CVE-2024-49902",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: check if leafidx greater than num leaves per dmap tree  syzbot report a out of bounds in dbSplit, it because dmt_leafidx greater than num leaves per dmap tree, add a checking for dmt_leafidx in dbFindLeaf.  Shaggy: Modified sanity check to apply to control pages as well as leaf pages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49903",
                        "url": "https://ubuntu.com/security/CVE-2024-49903",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: Fix uaf in dbFreeBits  [syzbot reported] ================================================================== BUG: KASAN: slab-use-after-free in __mutex_lock_common kernel/locking/mutex.c:587 [inline] BUG: KASAN: slab-use-after-free in __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752 Read of size 8 at addr ffff8880229254b0 by task syz-executor357/5216  CPU: 0 UID: 0 PID: 5216 Comm: syz-executor357 Not tainted 6.11.0-rc3-syzkaller-00156-gd7a5aa4b3c00 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024 Call Trace:  <TASK>  __dump_stack lib/dump_stack.c:93 [inline]  dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119  print_address_description mm/kasan/report.c:377 [inline]  print_report+0x169/0x550 mm/kasan/report.c:488  kasan_report+0x143/0x180 mm/kasan/report.c:601  __mutex_lock_common kernel/locking/mutex.c:587 [inline]  __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752  dbFreeBits+0x7ea/0xd90 fs/jfs/jfs_dmap.c:2390  dbFreeDmap fs/jfs/jfs_dmap.c:2089 [inline]  dbFree+0x35b/0x680 fs/jfs/jfs_dmap.c:409  dbDiscardAG+0x8a9/0xa20 fs/jfs/jfs_dmap.c:1650  jfs_ioc_trim+0x433/0x670 fs/jfs/jfs_discard.c:100  jfs_ioctl+0x2d0/0x3e0 fs/jfs/ioctl.c:131  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:907 [inline]  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:893  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  Freed by task 5218:  kasan_save_stack mm/kasan/common.c:47 [inline]  kasan_save_track+0x3f/0x80 mm/kasan/common.c:68  kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579  poison_slab_object+0xe0/0x150 mm/kasan/common.c:240  __kasan_slab_free+0x37/0x60 mm/kasan/common.c:256  kasan_slab_free include/linux/kasan.h:184 [inline]  slab_free_hook mm/slub.c:2252 [inline]  slab_free mm/slub.c:4473 [inline]  kfree+0x149/0x360 mm/slub.c:4594  dbUnmount+0x11d/0x190 fs/jfs/jfs_dmap.c:278  jfs_mount_rw+0x4ac/0x6a0 fs/jfs/jfs_mount.c:247  jfs_remount+0x3d1/0x6b0 fs/jfs/super.c:454  reconfigure_super+0x445/0x880 fs/super.c:1083  vfs_cmd_reconfigure fs/fsopen.c:263 [inline]  vfs_fsconfig_locked fs/fsopen.c:292 [inline]  __do_sys_fsconfig fs/fsopen.c:473 [inline]  __se_sys_fsconfig+0xb6e/0xf80 fs/fsopen.c:345  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  [Analysis] There are two paths (dbUnmount and jfs_ioc_trim) that generate race condition when accessing bmap, which leads to the occurrence of uaf.  Use the lock s_umount to synchronize them, in order to avoid uaf caused by race condition.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49924",
                        "url": "https://ubuntu.com/security/CVE-2024-49924",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fbdev: pxafb: Fix possible use after free in pxafb_task()  In the pxafb_probe function, it calls the pxafb_init_fbinfo function, after which &fbi->task is associated with pxafb_task. Moreover, within this pxafb_init_fbinfo function, the pxafb_blank function within the &pxafb_ops struct is capable of scheduling work.  If we remove the module which will call pxafb_remove to make cleanup, it will call unregister_framebuffer function which can call do_unregister_framebuffer to free fbi->fb through put_fb_info(fb_info), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                                CPU1                                     | pxafb_task pxafb_remove                       | unregister_framebuffer(info)       | do_unregister_framebuffer(fb_info) | put_fb_info(fb_info)               | // free fbi->fb                    | set_ctrlr_state(fbi, state)                                    | __pxafb_lcd_power(fbi, 0)                                    | fbi->lcd_power(on, &fbi->fb.var)                                    | //use fbi->fb  Fix it by ensuring that the work is canceled before proceeding with the cleanup in pxafb_remove.  Note that only root user can remove the driver at runtime.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50007",
                        "url": "https://ubuntu.com/security/CVE-2024-50007",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: asihpi: Fix potential OOB array access  ASIHPI driver stores some values in the static array upon a response from the driver, and its index depends on the firmware.  We shouldn't trust it blindly.  This patch adds a sanity check of the array index to fit in the array size.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 19:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50008",
                        "url": "https://ubuntu.com/security/CVE-2024-50008",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext()  Replace one-element array with a flexible-array member in `struct host_cmd_ds_802_11_scan_ext`.  With this, fix the following warning:  elo 16 17:51:58 surfacebook kernel: ------------[ cut here ]------------ elo 16 17:51:58 surfacebook kernel: memcpy: detected field-spanning write (size 243) of single field \"ext_scan->tlv_buffer\" at drivers/net/wireless/marvell/mwifiex/scan.c:2239 (size 1) elo 16 17:51:58 surfacebook kernel: WARNING: CPU: 0 PID: 498 at drivers/net/wireless/marvell/mwifiex/scan.c:2239 mwifiex_cmd_802_11_scan_ext+0x83/0x90 [mwifiex]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 19:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49995",
                        "url": "https://ubuntu.com/security/CVE-2024-49995",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tipc: guard against string buffer overrun  Smatch reports that copying media_name and if_name to name_parts may overwrite the destination.   .../bearer.c:166 bearer_name_validate() error: strcpy() 'media_name' too large for 'name_parts->media_name' (32 vs 16)  .../bearer.c:167 bearer_name_validate() error: strcpy() 'if_name' too large for 'name_parts->if_name' (1010102 vs 16)  This does seem to be the case so guard against this possibility by using strscpy() and failing if truncation occurs.  Introduced by commit b97bf3fd8f6a (\"[TIPC] Initial merge\")  Compile tested only.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49962",
                        "url": "https://ubuntu.com/security/CVE-2024-49962",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package()  ACPICA commit 4d4547cf13cca820ff7e0f859ba83e1a610b9fd0  ACPI_ALLOCATE_ZEROED() may fail, elements might be NULL and will cause NULL pointer dereference later.  [ rjw: Subject and changelog edits ]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49938",
                        "url": "https://ubuntu.com/security/CVE-2024-49938",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit  Syzbot points out that skb_trim() has a sanity check on the existing length of the skb, which can be uninitialised in some error paths. The intent here is clearly just to reset the length to zero before resubmitting, so switch to calling __skb_set_length(skb, 0) directly. In addition, __skb_set_length() already contains a call to skb_reset_tail_pointer(), so remove the redundant call.  The syzbot report came from ath9k_hif_usb_reg_in_cb(), but there's a similar usage of skb_trim() in ath9k_hif_usb_rx_cb(), change both while we're at it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47740",
                        "url": "https://ubuntu.com/security/CVE-2024-47740",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: Require FMODE_WRITE for atomic write ioctls  The F2FS ioctls for starting and committing atomic writes check for inode_owner_or_capable(), but this does not give LSMs like SELinux or Landlock an opportunity to deny the write access - if the caller's FSUID matches the inode's UID, inode_owner_or_capable() immediately returns true.  There are scenarios where LSMs want to deny a process the ability to write particular files, even files that the FSUID of the process owns; but this can currently partially be bypassed using atomic write ioctls in two ways:   - F2FS_IOC_START_ATOMIC_REPLACE + F2FS_IOC_COMMIT_ATOMIC_WRITE can    truncate an inode to size 0  - F2FS_IOC_START_ATOMIC_WRITE + F2FS_IOC_ABORT_ATOMIC_WRITE can revert    changes another process concurrently made to a file  Fix it by requiring FMODE_WRITE for these operations, just like for F2FS_IOC_MOVE_RANGE. Since any legitimate caller should only be using these ioctls when intending to write into the file, that seems unlikely to break anything.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49944",
                        "url": "https://ubuntu.com/security/CVE-2024-49944",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start  In sctp_listen_start() invoked by sctp_inet_listen(), it should set the sk_state back to CLOSED if sctp_autobind() fails due to whatever reason.  Otherwise, next time when calling sctp_inet_listen(), if sctp_sk(sk)->reuse is already set via setsockopt(SCTP_REUSE_PORT), sctp_sk(sk)->bind_hash will be dereferenced as sk_state is LISTENING, which causes a crash as bind_hash is NULL.    KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]   RIP: 0010:sctp_inet_listen+0x7f0/0xa20 net/sctp/socket.c:8617   Call Trace:    <TASK>    __sys_listen_socket net/socket.c:1883 [inline]    __sys_listen+0x1b7/0x230 net/socket.c:1894    __do_sys_listen net/socket.c:1902 [inline]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49948",
                        "url": "https://ubuntu.com/security/CVE-2024-49948",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: add more sanity checks to qdisc_pkt_len_init()  One path takes care of SKB_GSO_DODGY, assuming skb->len is bigger than hdr_len.  virtio_net_hdr_to_skb() does not fully dissect TCP headers, it only make sure it is at least 20 bytes.  It is possible for an user to provide a malicious 'GSO' packet, total length of 80 bytes.  - 20 bytes of IPv4 header - 60 bytes TCP header - a small gso_size like 8  virtio_net_hdr_to_skb() would declare this packet as a normal GSO packet, because it would see 40 bytes of payload, bigger than gso_size.  We need to make detect this case to not underflow qdisc_skb_cb(skb)->pkt_len.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49949",
                        "url": "https://ubuntu.com/security/CVE-2024-49949",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: avoid potential underflow in qdisc_pkt_len_init() with UFO  After commit 7c6d2ecbda83 (\"net: be more gentle about silly gso requests coming from user\") virtio_net_hdr_to_skb() had sanity check to detect malicious attempts from user space to cook a bad GSO packet.  Then commit cf9acc90c80ec (\"net: virtio_net_hdr_to_skb: count transport header in UFO\") while fixing one issue, allowed user space to cook a GSO packet with the following characteristic :  IPv4 SKB_GSO_UDP, gso_size=3, skb->len = 28.  When this packet arrives in qdisc_pkt_len_init(), we end up with hdr_len = 28 (IPv4 header + UDP header), matching skb->len  Then the following sets gso_segs to 0 :  gso_segs = DIV_ROUND_UP(skb->len - hdr_len,                         shinfo->gso_size);  Then later we set qdisc_skb_cb(skb)->pkt_len to back to zero :/  qdisc_skb_cb(skb)->pkt_len += (gso_segs - 1) * hdr_len;  This leads to the following crash in fq_codel [1]  qdisc_pkt_len_init() is best effort, we only want an estimation of the bytes sent on the wire, not crashing the kernel.  This patch is fixing this particular issue, a following one adds more sanity checks for another potential bug.  [1] [   70.724101] BUG: kernel NULL pointer dereference, address: 0000000000000000 [   70.724561] #PF: supervisor read access in kernel mode [   70.724561] #PF: error_code(0x0000) - not-present page [   70.724561] PGD 10ac61067 P4D 10ac61067 PUD 107ee2067 PMD 0 [   70.724561] Oops: Oops: 0000 [#1] SMP NOPTI [   70.724561] CPU: 11 UID: 0 PID: 2163 Comm: b358537762 Not tainted 6.11.0-virtme #991 [   70.724561] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [   70.724561] RIP: 0010:fq_codel_enqueue (net/sched/sch_fq_codel.c:120 net/sched/sch_fq_codel.c:168 net/sched/sch_fq_codel.c:230) sch_fq_codel [ 70.724561] Code: 24 08 49 c1 e1 06 44 89 7c 24 18 45 31 ed 45 31 c0 31 ff 89 44 24 14 4c 03 8b 90 01 00 00 eb 04 39 ca 73 37 4d 8b 39 83 c7 01 <49> 8b 17 49 89 11 41 8b 57 28 45 8b 5f 34 49 c7 07 00 00 00 00 49 All code ========    0:\t24 08                \tand    $0x8,%al    2:\t49 c1 e1 06          \tshl    $0x6,%r9    6:\t44 89 7c 24 18       \tmov    %r15d,0x18(%rsp)    b:\t45 31 ed             \txor    %r13d,%r13d    e:\t45 31 c0             \txor    %r8d,%r8d   11:\t31 ff                \txor    %edi,%edi   13:\t89 44 24 14          \tmov    %eax,0x14(%rsp)   17:\t4c 03 8b 90 01 00 00 \tadd    0x190(%rbx),%r9   1e:\teb 04                \tjmp    0x24   20:\t39 ca                \tcmp    %ecx,%edx   22:\t73 37                \tjae    0x5b   24:\t4d 8b 39             \tmov    (%r9),%r15   27:\t83 c7 01             \tadd    $0x1,%edi   2a:*\t49 8b 17             \tmov    (%r15),%rdx\t\t<-- trapping instruction   2d:\t49 89 11             \tmov    %rdx,(%r9)   30:\t41 8b 57 28          \tmov    0x28(%r15),%edx   34:\t45 8b 5f 34          \tmov    0x34(%r15),%r11d   38:\t49 c7 07 00 00 00 00 \tmovq   $0x0,(%r15)   3f:\t49                   \trex.WB  Code starting with the faulting instruction ===========================================    0:\t49 8b 17             \tmov    (%r15),%rdx    3:\t49 89 11             \tmov    %rdx,(%r9)    6:\t41 8b 57 28          \tmov    0x28(%r15),%edx    a:\t45 8b 5f 34          \tmov    0x34(%r15),%r11d    e:\t49 c7 07 00 00 00 00 \tmovq   $0x0,(%r15)   15:\t49                   \trex.WB [   70.724561] RSP: 0018:ffff95ae85e6fb90 EFLAGS: 00000202 [   70.724561] RAX: 0000000002000000 RBX: ffff95ae841de000 RCX: 0000000000000000 [   70.724561] RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000001 [   70.724561] RBP: ffff95ae85e6fbf8 R08: 0000000000000000 R09: ffff95b710a30000 [   70.724561] R10: 0000000000000000 R11: bdf289445ce31881 R12: ffff95ae85e6fc58 [   70.724561] R13: 0000000000000000 R14: 0000000000000040 R15: 0000000000000000 [   70.724561] FS:  000000002c5c1380(0000) GS:ffff95bd7fcc0000(0000) knlGS:0000000000000000 [   70.724561] CS:  0010 DS: 0000 ES: 0000 C ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49997",
                        "url": "https://ubuntu.com/security/CVE-2024-49997",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: ethernet: lantiq_etop: fix memory disclosure  When applying padding, the buffer is not zeroed, which results in memory disclosure. The mentioned data is observed on the wire. This patch uses skb_put_padto() to pad Ethernet frames properly. The mentioned function zeroes the expanded buffer.  In case the packet cannot be padded it is silently dropped. Statistics are also not incremented. This driver does not support statistics in the old 32-bit format or the new 64-bit format. These will be added in the future. In its current form, the patch should be easily backported to stable versions.  Ethernet MACs on Amazon-SE and Danube cannot do padding of the packets in hardware, so software padding must be applied.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49952",
                        "url": "https://ubuntu.com/security/CVE-2024-49952",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: prevent nf_skb_duplicated corruption  syzbot found that nf_dup_ipv4() or nf_dup_ipv6() could write per-cpu variable nf_skb_duplicated in an unsafe way [1].  Disabling preemption as hinted by the splat is not enough, we have to disable soft interrupts as well.  [1] BUG: using __this_cpu_write() in preemptible [00000000] code: syz.4.282/6316  caller is nf_dup_ipv4+0x651/0x8f0 net/ipv4/netfilter/nf_dup_ipv4.c:87 CPU: 0 UID: 0 PID: 6316 Comm: syz.4.282 Not tainted 6.11.0-rc7-syzkaller-00104-g7052622fccb1 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 Call Trace:  <TASK>   __dump_stack lib/dump_stack.c:93 [inline]   dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119   check_preemption_disabled+0x10e/0x120 lib/smp_processor_id.c:49   nf_dup_ipv4+0x651/0x8f0 net/ipv4/netfilter/nf_dup_ipv4.c:87   nft_dup_ipv4_eval+0x1db/0x300 net/ipv4/netfilter/nft_dup_ipv4.c:30   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x4ad/0x1da0 net/netfilter/nf_tables_core.c:288   nft_do_chain_ipv4+0x202/0x320 net/netfilter/nft_chain_filter.c:23   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xc3/0x220 net/netfilter/core.c:626   nf_hook+0x2c4/0x450 include/linux/netfilter.h:269   NF_HOOK_COND include/linux/netfilter.h:302 [inline]   ip_output+0x185/0x230 net/ipv4/ip_output.c:433   ip_local_out net/ipv4/ip_output.c:129 [inline]   ip_send_skb+0x74/0x100 net/ipv4/ip_output.c:1495   udp_send_skb+0xacf/0x1650 net/ipv4/udp.c:981   udp_sendmsg+0x1c21/0x2a60 net/ipv4/udp.c:1269   sock_sendmsg_nosec net/socket.c:730 [inline]   __sock_sendmsg+0x1a6/0x270 net/socket.c:745   ____sys_sendmsg+0x525/0x7d0 net/socket.c:2597   ___sys_sendmsg net/socket.c:2651 [inline]   __sys_sendmmsg+0x3b2/0x740 net/socket.c:2737   __do_sys_sendmmsg net/socket.c:2766 [inline]   __se_sys_sendmmsg net/socket.c:2763 [inline]   __x64_sys_sendmmsg+0xa0/0xb0 net/socket.c:2763   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f4ce4f7def9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f4ce5d4a038 EFLAGS: 00000246 ORIG_RAX: 0000000000000133 RAX: ffffffffffffffda RBX: 00007f4ce5135f80 RCX: 00007f4ce4f7def9 RDX: 0000000000000001 RSI: 0000000020005d40 RDI: 0000000000000006 RBP: 00007f4ce4ff0b76 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f4ce5135f80 R15: 00007ffd4cbc6d68  </TASK>",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50179",
                        "url": "https://ubuntu.com/security/CVE-2024-50179",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ceph: remove the incorrect Fw reference check when dirtying pages  When doing the direct-io reads it will also try to mark pages dirty, but for the read path it won't hold the Fw caps and there is case will it get the Fw reference.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49963",
                        "url": "https://ubuntu.com/security/CVE-2024-49963",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mailbox: bcm2835: Fix timeout during suspend mode  During noirq suspend phase the Raspberry Pi power driver suffer of firmware property timeouts. The reason is that the IRQ of the underlying BCM2835 mailbox is disabled and rpi_firmware_property_list() will always run into a timeout [1].  Since the VideoCore side isn't consider as a wakeup source, set the IRQF_NO_SUSPEND flag for the mailbox IRQ in order to keep it enabled during suspend-resume cycle.  [1] PM: late suspend of devices complete after 1.754 msecs WARNING: CPU: 0 PID: 438 at drivers/firmware/raspberrypi.c:128  rpi_firmware_property_list+0x204/0x22c Firmware transaction 0x00028001 timeout Modules linked in: CPU: 0 PID: 438 Comm: bash Tainted: G         C         6.9.3-dirty #17 Hardware name: BCM2835 Call trace: unwind_backtrace from show_stack+0x18/0x1c show_stack from dump_stack_lvl+0x34/0x44 dump_stack_lvl from __warn+0x88/0xec __warn from warn_slowpath_fmt+0x7c/0xb0 warn_slowpath_fmt from rpi_firmware_property_list+0x204/0x22c rpi_firmware_property_list from rpi_firmware_property+0x68/0x8c rpi_firmware_property from rpi_firmware_set_power+0x54/0xc0 rpi_firmware_set_power from _genpd_power_off+0xe4/0x148 _genpd_power_off from genpd_sync_power_off+0x7c/0x11c genpd_sync_power_off from genpd_finish_suspend+0xcc/0xe0 genpd_finish_suspend from dpm_run_callback+0x78/0xd0 dpm_run_callback from device_suspend_noirq+0xc0/0x238 device_suspend_noirq from dpm_suspend_noirq+0xb0/0x168 dpm_suspend_noirq from suspend_devices_and_enter+0x1b8/0x5ac suspend_devices_and_enter from pm_suspend+0x254/0x2e4 pm_suspend from state_store+0xa8/0xd4 state_store from kernfs_fop_write_iter+0x154/0x1a0 kernfs_fop_write_iter from vfs_write+0x12c/0x184 vfs_write from ksys_write+0x78/0xc0 ksys_write from ret_fast_syscall+0x0/0x54 Exception stack(0xcc93dfa8 to 0xcc93dff0) [...] PM: noirq suspend of devices complete after 3095.584 msecs",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-46849",
                        "url": "https://ubuntu.com/security/CVE-2024-46849",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: meson: axg-card: fix 'use-after-free'  Buffer 'card->dai_link' is reallocated in 'meson_card_reallocate_links()', so move 'pad' pointer initialization after this function when memory is already reallocated.  Kasan bug report:  ================================================================== BUG: KASAN: slab-use-after-free in axg_card_add_link+0x76c/0x9bc Read of size 8 at addr ffff000000e8b260 by task modprobe/356  CPU: 0 PID: 356 Comm: modprobe Tainted: G O 6.9.12-sdkernel #1 Call trace:  dump_backtrace+0x94/0xec  show_stack+0x18/0x24  dump_stack_lvl+0x78/0x90  print_report+0xfc/0x5c0  kasan_report+0xb8/0xfc  __asan_load8+0x9c/0xb8  axg_card_add_link+0x76c/0x9bc [snd_soc_meson_axg_sound_card]  meson_card_probe+0x344/0x3b8 [snd_soc_meson_card_utils]  platform_probe+0x8c/0xf4  really_probe+0x110/0x39c  __driver_probe_device+0xb8/0x18c  driver_probe_device+0x108/0x1d8  __driver_attach+0xd0/0x25c  bus_for_each_dev+0xe0/0x154  driver_attach+0x34/0x44  bus_add_driver+0x134/0x294  driver_register+0xa8/0x1e8  __platform_driver_register+0x44/0x54  axg_card_pdrv_init+0x20/0x1000 [snd_soc_meson_axg_sound_card]  do_one_initcall+0xdc/0x25c  do_init_module+0x10c/0x334  load_module+0x24c4/0x26cc  init_module_from_file+0xd4/0x128  __arm64_sys_finit_module+0x1f4/0x41c  invoke_syscall+0x60/0x188  el0_svc_common.constprop.0+0x78/0x13c  do_el0_svc+0x30/0x40  el0_svc+0x38/0x78  el0t_64_sync_handler+0x100/0x12c  el0t_64_sync+0x190/0x194",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-09-27 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47679",
                        "url": "https://ubuntu.com/security/CVE-2024-47679",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  vfs: fix race between evice_inodes() and find_inode()&iput()  Hi, all  Recently I noticed a bug[1] in btrfs, after digged it into and I believe it'a race in vfs.  Let's assume there's a inode (ie ino 261) with i_count 1 is called by iput(), and there's a concurrent thread calling generic_shutdown_super().  cpu0:                              cpu1: iput() // i_count is 1   ->spin_lock(inode)   ->dec i_count to 0   ->iput_final()                    generic_shutdown_super()     ->__inode_add_lru()               ->evict_inodes()       // cause some reason[2]           ->if (atomic_read(inode->i_count)) continue;       // return before                  // inode 261 passed the above check       // list_lru_add_obj()             // and then schedule out    ->spin_unlock() // note here: the inode 261 // was still at sb list and hash list, // and I_FREEING|I_WILL_FREE was not been set  btrfs_iget()   // after some function calls   ->find_inode()     // found the above inode 261     ->spin_lock(inode)    // check I_FREEING|I_WILL_FREE    // and passed       ->__iget()     ->spin_unlock(inode)                // schedule back                                         ->spin_lock(inode)                                         // check (I_NEW|I_FREEING|I_WILL_FREE) flags,                                         // passed and set I_FREEING iput()                                  ->spin_unlock(inode)   ->spin_lock(inode)\t\t\t  ->evict()   // dec i_count to 0   ->iput_final()     ->spin_unlock()     ->evict()  Now, we have two threads simultaneously evicting the same inode, which may trigger the BUG(inode->i_state & I_CLEAR) statement both within clear_inode() and iput().  To fix the bug, recheck the inode->i_count after holding i_lock. Because in the most scenarios, the first check is valid, and the overhead of spin_lock() can be reduced.  If there is any misunderstanding, please let me know, thanks.  [1]: https://lore.kernel.org/linux-btrfs/000000000000eabe1d0619c48986@google.com/ [2]: The reason might be 1. SB_ACTIVE was removed or 2. mapping_shrinkable() return false when I reproduced the bug.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49860",
                        "url": "https://ubuntu.com/security/CVE-2024-49860",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPI: sysfs: validate return type of _STR method  Only buffer objects are valid return values of _STR.  If something else is returned description_show() will access invalid memory.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47742",
                        "url": "https://ubuntu.com/security/CVE-2024-47742",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  firmware_loader: Block path traversal  Most firmware names are hardcoded strings, or are constructed from fairly constrained format strings where the dynamic parts are just some hex numbers or such.  However, there are a couple codepaths in the kernel where firmware file names contain string components that are passed through from a device or semi-privileged userspace; the ones I could find (not counting interfaces that require root privileges) are:   - lpfc_sli4_request_firmware_update() seems to construct the firmware    filename from \"ModelName\", a string that was previously parsed out of    some descriptor (\"Vital Product Data\") in lpfc_fill_vpd()  - nfp_net_fw_find() seems to construct a firmware filename from a model    name coming from nfp_hwinfo_lookup(pf->hwinfo, \"nffw.partno\"), which I    think parses some descriptor that was read from the device.    (But this case likely isn't exploitable because the format string looks    like \"netronome/nic_%s\", and there shouldn't be any *folders* starting    with \"netronome/nic_\". The previous case was different because there,    the \"%s\" is *at the start* of the format string.)  - module_flash_fw_schedule() is reachable from the    ETHTOOL_MSG_MODULE_FW_FLASH_ACT netlink command, which is marked as    GENL_UNS_ADMIN_PERM (meaning CAP_NET_ADMIN inside a user namespace is    enough to pass the privilege check), and takes a userspace-provided    firmware name.    (But I think to reach this case, you need to have CAP_NET_ADMIN over a    network namespace that a special kind of ethernet device is mapped into,    so I think this is not a viable attack path in practice.)  Fix it by rejecting any firmware names containing \"..\" path components.  For what it's worth, I went looking and haven't found any USB device drivers that use the firmware loader dangerously.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47684",
                        "url": "https://ubuntu.com/security/CVE-2024-47684",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tcp: check skb is non-NULL in tcp_rto_delta_us()  We have some machines running stock Ubuntu 20.04.6 which is their 5.4.0-174-generic kernel that are running ceph and recently hit a null ptr dereference in tcp_rearm_rto(). Initially hitting it from the TLP path, but then later we also saw it getting hit from the RACK case as well. Here are examples of the oops messages we saw in each of those cases:  Jul 26 15:05:02 rx [11061395.780353] BUG: kernel NULL pointer dereference, address: 0000000000000020 Jul 26 15:05:02 rx [11061395.787572] #PF: supervisor read access in kernel mode Jul 26 15:05:02 rx [11061395.792971] #PF: error_code(0x0000) - not-present page Jul 26 15:05:02 rx [11061395.798362] PGD 0 P4D 0 Jul 26 15:05:02 rx [11061395.801164] Oops: 0000 [#1] SMP NOPTI Jul 26 15:05:02 rx [11061395.805091] CPU: 0 PID: 9180 Comm: msgr-worker-1 Tainted: G W 5.4.0-174-generic #193-Ubuntu Jul 26 15:05:02 rx [11061395.814996] Hardware name: Supermicro SMC 2x26 os-gen8 64C NVME-Y 256G/H12SSW-NTR, BIOS 2.5.V1.2U.NVMe.UEFI 05/09/2023 Jul 26 15:05:02 rx [11061395.825952] RIP: 0010:tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.830656] Code: 87 ca 04 00 00 00 5b 41 5c 41 5d 5d c3 c3 49 8b bc 24 40 06 00 00 eb 8d 48 bb cf f7 53 e3 a5 9b c4 20 4c 89 ef e8 0c fe 0e 00 <48> 8b 78 20 48 c1 ef 03 48 89 f8 41 8b bc 24 80 04 00 00 48 f7 e3 Jul 26 15:05:02 rx [11061395.849665] RSP: 0018:ffffb75d40003e08 EFLAGS: 00010246 Jul 26 15:05:02 rx [11061395.855149] RAX: 0000000000000000 RBX: 20c49ba5e353f7cf RCX: 0000000000000000 Jul 26 15:05:02 rx [11061395.862542] RDX: 0000000062177c30 RSI: 000000000000231c RDI: ffff9874ad283a60 Jul 26 15:05:02 rx [11061395.869933] RBP: ffffb75d40003e20 R08: 0000000000000000 R09: ffff987605e20aa8 Jul 26 15:05:02 rx [11061395.877318] R10: ffffb75d40003f00 R11: ffffb75d4460f740 R12: ffff9874ad283900 Jul 26 15:05:02 rx [11061395.884710] R13: ffff9874ad283a60 R14: ffff9874ad283980 R15: ffff9874ad283d30 Jul 26 15:05:02 rx [11061395.892095] FS: 00007f1ef4a2e700(0000) GS:ffff987605e00000(0000) knlGS:0000000000000000 Jul 26 15:05:02 rx [11061395.900438] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Jul 26 15:05:02 rx [11061395.906435] CR2: 0000000000000020 CR3: 0000003e450ba003 CR4: 0000000000760ef0 Jul 26 15:05:02 rx [11061395.913822] PKRU: 55555554 Jul 26 15:05:02 rx [11061395.916786] Call Trace: Jul 26 15:05:02 rx [11061395.919488] Jul 26 15:05:02 rx [11061395.921765] ? show_regs.cold+0x1a/0x1f Jul 26 15:05:02 rx [11061395.925859] ? __die+0x90/0xd9 Jul 26 15:05:02 rx [11061395.929169] ? no_context+0x196/0x380 Jul 26 15:05:02 rx [11061395.933088] ? ip6_protocol_deliver_rcu+0x4e0/0x4e0 Jul 26 15:05:02 rx [11061395.938216] ? ip6_sublist_rcv_finish+0x3d/0x50 Jul 26 15:05:02 rx [11061395.943000] ? __bad_area_nosemaphore+0x50/0x1a0 Jul 26 15:05:02 rx [11061395.947873] ? bad_area_nosemaphore+0x16/0x20 Jul 26 15:05:02 rx [11061395.952486] ? do_user_addr_fault+0x267/0x450 Jul 26 15:05:02 rx [11061395.957104] ? ipv6_list_rcv+0x112/0x140 Jul 26 15:05:02 rx [11061395.961279] ? __do_page_fault+0x58/0x90 Jul 26 15:05:02 rx [11061395.965458] ? do_page_fault+0x2c/0xe0 Jul 26 15:05:02 rx [11061395.969465] ? page_fault+0x34/0x40 Jul 26 15:05:02 rx [11061395.973217] ? tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.977313] ? tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.981408] tcp_send_loss_probe+0x10b/0x220 Jul 26 15:05:02 rx [11061395.985937] tcp_write_timer_handler+0x1b4/0x240 Jul 26 15:05:02 rx [11061395.990809] tcp_write_timer+0x9e/0xe0 Jul 26 15:05:02 rx [11061395.994814] ? tcp_write_timer_handler+0x240/0x240 Jul 26 15:05:02 rx [11061395.999866] call_timer_fn+0x32/0x130 Jul 26 15:05:02 rx [11061396.003782] __run_timers.part.0+0x180/0x280 Jul 26 15:05:02 rx [11061396.008309] ? recalibrate_cpu_khz+0x10/0x10 Jul 26 15:05:02 rx [11061396.012841] ? native_x2apic_icr_write+0x30/0x30 Jul 26 15:05:02 rx [11061396.017718] ? lapic_next_even ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47747",
                        "url": "https://ubuntu.com/security/CVE-2024-47747",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition  In the ether3_probe function, a timer is initialized with a callback function ether3_ledoff, bound to &prev(dev)->timer. Once the timer is started, there is a risk of a race condition if the module or device is removed, triggering the ether3_remove function to perform cleanup. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                    CPU1                        |  ether3_ledoff ether3_remove         |   free_netdev(dev);   |   put_devic           |   kfree(dev);         |  |  ether3_outw(priv(dev)->regs.config2 |= CFG2_CTRLO, REG_CONFIG2);                       | // use dev  Fix it by ensuring that the timer is canceled before proceeding with the cleanup in ether3_remove.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47685",
                        "url": "https://ubuntu.com/security/CVE-2024-47685",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()  syzbot reported that nf_reject_ip6_tcphdr_put() was possibly sending garbage on the four reserved tcp bits (th->res1)  Use skb_put_zero() to clear the whole TCP header, as done in nf_reject_ip_tcphdr_put()  BUG: KMSAN: uninit-value in nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255   nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255   nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344   nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288   nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626   nf_hook include/linux/netfilter.h:269 [inline]   NF_HOOK include/linux/netfilter.h:312 [inline]   ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310   __netif_receive_skb_one_core net/core/dev.c:5661 [inline]   __netif_receive_skb+0x1da/0xa00 net/core/dev.c:5775   process_backlog+0x4ad/0xa50 net/core/dev.c:6108   __napi_poll+0xe7/0x980 net/core/dev.c:6772   napi_poll net/core/dev.c:6841 [inline]   net_rx_action+0xa5a/0x19b0 net/core/dev.c:6963   handle_softirqs+0x1ce/0x800 kernel/softirq.c:554   __do_softirq+0x14/0x1a kernel/softirq.c:588   do_softirq+0x9a/0x100 kernel/softirq.c:455   __local_bh_enable_ip+0x9f/0xb0 kernel/softirq.c:382   local_bh_enable include/linux/bottom_half.h:33 [inline]   rcu_read_unlock_bh include/linux/rcupdate.h:908 [inline]   __dev_queue_xmit+0x2692/0x5610 net/core/dev.c:4450   dev_queue_xmit include/linux/netdevice.h:3105 [inline]   neigh_resolve_output+0x9ca/0xae0 net/core/neighbour.c:1565   neigh_output include/net/neighbour.h:542 [inline]   ip6_finish_output2+0x2347/0x2ba0 net/ipv6/ip6_output.c:141   __ip6_finish_output net/ipv6/ip6_output.c:215 [inline]   ip6_finish_output+0xbb8/0x14b0 net/ipv6/ip6_output.c:226   NF_HOOK_COND include/linux/netfilter.h:303 [inline]   ip6_output+0x356/0x620 net/ipv6/ip6_output.c:247   dst_output include/net/dst.h:450 [inline]   NF_HOOK include/linux/netfilter.h:314 [inline]   ip6_xmit+0x1ba6/0x25d0 net/ipv6/ip6_output.c:366   inet6_csk_xmit+0x442/0x530 net/ipv6/inet6_connection_sock.c:135   __tcp_transmit_skb+0x3b07/0x4880 net/ipv4/tcp_output.c:1466   tcp_transmit_skb net/ipv4/tcp_output.c:1484 [inline]   tcp_connect+0x35b6/0x7130 net/ipv4/tcp_output.c:4143   tcp_v6_connect+0x1bcc/0x1e40 net/ipv6/tcp_ipv6.c:333   __inet_stream_connect+0x2ef/0x1730 net/ipv4/af_inet.c:679   inet_stream_connect+0x6a/0xd0 net/ipv4/af_inet.c:750   __sys_connect_file net/socket.c:2061 [inline]   __sys_connect+0x606/0x690 net/socket.c:2078   __do_sys_connect net/socket.c:2088 [inline]   __se_sys_connect net/socket.c:2085 [inline]   __x64_sys_connect+0x91/0xe0 net/socket.c:2085   x64_sys_call+0x27a5/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:43   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was stored to memory at:   nf_reject_ip6_tcphdr_put+0x60c/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:249   nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344   nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288   nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626   nf_hook include/linux/netfilter.h:269 [inline]   NF_HOOK include/linux/netfilter.h:312 [inline]   ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310   __netif_receive_skb_one_core ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47692",
                        "url": "https://ubuntu.com/security/CVE-2024-47692",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfsd: return -EINVAL when namelen is 0  When we have a corrupted main.sqlite in /var/lib/nfs/nfsdcld/, it may result in namelen being 0, which will cause memdup_user() to return ZERO_SIZE_PTR. When we access the name.data that has been assigned the value of ZERO_SIZE_PTR in nfs4_client_to_reclaim(), null pointer dereference is triggered.  [ T1205] ================================================================== [ T1205] BUG: KASAN: null-ptr-deref in nfs4_client_to_reclaim+0xe9/0x260 [ T1205] Read of size 1 at addr 0000000000000010 by task nfsdcld/1205 [ T1205] [ T1205] CPU: 11 PID: 1205 Comm: nfsdcld Not tainted 5.10.0-00003-g2c1423731b8d #406 [ T1205] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-buildvm-ppc64le-16.ppc.fedoraproject.org-3.fc31 04/01/2014 [ T1205] Call Trace: [ T1205]  dump_stack+0x9a/0xd0 [ T1205]  ? nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  __kasan_report.cold+0x34/0x84 [ T1205]  ? nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  kasan_report+0x3a/0x50 [ T1205]  nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  ? nfsd4_release_lockowner+0x410/0x410 [ T1205]  cld_pipe_downcall+0x5ca/0x760 [ T1205]  ? nfsd4_cld_tracking_exit+0x1d0/0x1d0 [ T1205]  ? down_write_killable_nested+0x170/0x170 [ T1205]  ? avc_policy_seqno+0x28/0x40 [ T1205]  ? selinux_file_permission+0x1b4/0x1e0 [ T1205]  rpc_pipe_write+0x84/0xb0 [ T1205]  vfs_write+0x143/0x520 [ T1205]  ksys_write+0xc9/0x170 [ T1205]  ? __ia32_sys_read+0x50/0x50 [ T1205]  ? ktime_get_coarse_real_ts64+0xfe/0x110 [ T1205]  ? ktime_get_coarse_real_ts64+0xa2/0x110 [ T1205]  do_syscall_64+0x33/0x40 [ T1205]  entry_SYSCALL_64_after_hwframe+0x67/0xd1 [ T1205] RIP: 0033:0x7fdbdb761bc7 [ T1205] Code: 0f 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 514 [ T1205] RSP: 002b:00007fff8c4b7248 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ T1205] RAX: ffffffffffffffda RBX: 000000000000042b RCX: 00007fdbdb761bc7 [ T1205] RDX: 000000000000042b RSI: 00007fff8c4b75f0 RDI: 0000000000000008 [ T1205] RBP: 00007fdbdb761bb0 R08: 0000000000000000 R09: 0000000000000001 [ T1205] R10: 0000000000000000 R11: 0000000000000246 R12: 000000000000042b [ T1205] R13: 0000000000000008 R14: 00007fff8c4b75f0 R15: 0000000000000000 [ T1205] ==================================================================  Fix it by checking namelen.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47737",
                        "url": "https://ubuntu.com/security/CVE-2024-47737",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfsd: call cache_put if xdr_reserve_space returns NULL  If not enough buffer space available, but idmap_lookup has triggered lookup_fn which calls cache_get and returns successfully. Then we missed to call cache_put here which pairs with cache_get.  Reviwed-by: Jeff Layton <jlayton@kernel.org>",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2023-52917",
                        "url": "https://ubuntu.com/security/CVE-2023-52917",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()  The debugfs_create_dir() function returns error pointers. It never returns NULL. So use IS_ERR() to check it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47749",
                        "url": "https://ubuntu.com/security/CVE-2024-47749",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cxgb4: Added NULL check for lookup_atid  The lookup_atid() function can return NULL if the ATID is invalid or does not exist in the identifier table, which could lead to dereferencing a null pointer without a check in the `act_establish()` and `act_open_rpl()` functions. Add a NULL check to prevent null pointer dereferencing.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47696",
                        "url": "https://ubuntu.com/security/CVE-2024-47696",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency  In the commit aee2424246f9 (\"RDMA/iwcm: Fix a use-after-free related to destroying CM IDs\"), the function flush_workqueue is invoked to flush the work queue iwcm_wq.  But at that time, the work queue iwcm_wq was created via the function alloc_ordered_workqueue without the flag WQ_MEM_RECLAIM.  Because the current process is trying to flush the whole iwcm_wq, if iwcm_wq doesn't have the flag WQ_MEM_RECLAIM, verify that the current process is not reclaiming memory or running on a workqueue which doesn't have the flag WQ_MEM_RECLAIM as that can break forward-progress guarantee leading to a deadlock.  The call trace is as below:  [  125.350876][ T1430] Call Trace: [  125.356281][ T1430]  <TASK> [ 125.361285][ T1430] ? __warn (kernel/panic.c:693) [ 125.367640][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.375689][ T1430] ? report_bug (lib/bug.c:180 lib/bug.c:219) [ 125.382505][ T1430] ? handle_bug (arch/x86/kernel/traps.c:239) [ 125.388987][ T1430] ? exc_invalid_op (arch/x86/kernel/traps.c:260 (discriminator 1)) [ 125.395831][ T1430] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:621) [ 125.403125][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.410984][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.418764][ T1430] __flush_workqueue (kernel/workqueue.c:3970) [ 125.426021][ T1430] ? __pfx___might_resched (kernel/sched/core.c:10151) [ 125.433431][ T1430] ? destroy_cm_id (drivers/infiniband/core/iwcm.c:375) iw_cm [ 125.441209][ T1430] ? __pfx___flush_workqueue (kernel/workqueue.c:3910) [ 125.473900][ T1430] ? _raw_spin_lock_irqsave (arch/x86/include/asm/atomic.h:107 include/linux/atomic/atomic-arch-fallback.h:2170 include/linux/atomic/atomic-instrumented.h:1302 include/asm-generic/qspinlock.h:111 include/linux/spinlock.h:187 include/linux/spinlock_api_smp.h:111 kernel/locking/spinlock.c:162) [ 125.473909][ T1430] ? __pfx__raw_spin_lock_irqsave (kernel/locking/spinlock.c:161) [ 125.482537][ T1430] _destroy_id (drivers/infiniband/core/cma.c:2044) rdma_cm [ 125.495072][ T1430] nvme_rdma_free_queue (drivers/nvme/host/rdma.c:656 drivers/nvme/host/rdma.c:650) nvme_rdma [ 125.505827][ T1430] nvme_rdma_reset_ctrl_work (drivers/nvme/host/rdma.c:2180) nvme_rdma [ 125.505831][ T1430] process_one_work (kernel/workqueue.c:3231) [ 125.515122][ T1430] worker_thread (kernel/workqueue.c:3306 kernel/workqueue.c:3393) [ 125.515127][ T1430] ? __pfx_worker_thread (kernel/workqueue.c:3339) [ 125.531837][ T1430] kthread (kernel/kthread.c:389) [ 125.539864][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.550628][ T1430] ret_from_fork (arch/x86/kernel/process.c:147) [ 125.558840][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.558844][ T1430] ret_from_fork_asm (arch/x86/entry/entry_64.S:257) [  125.566487][ T1430]  </TASK> [  125.566488][ T1430] ---[ end trace 0000000000000000 ]---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47756",
                        "url": "https://ubuntu.com/security/CVE-2024-47756",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  PCI: keystone: Fix if-statement expression in ks_pcie_quirk()  This code accidentally uses && where || was intended.  It potentially results in a NULL dereference.  Thus, fix the if-statement expression to use the correct condition.  [kwilczynski: commit log]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47697",
                        "url": "https://ubuntu.com/security/CVE-2024-47697",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error  Ensure index in rtl2830_pid_filter does not exceed 31 to prevent out-of-bounds access.  dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47698",
                        "url": "https://ubuntu.com/security/CVE-2024-47698",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error  Ensure index in rtl2832_pid_filter does not exceed 31 to prevent out-of-bounds access.  dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue.  [hverkuil: added fixes tag, rtl2830_pid_filter -> rtl2832_pid_filter in logmsg]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47757",
                        "url": "https://ubuntu.com/security/CVE-2024-47757",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential oob read in nilfs_btree_check_delete()  The function nilfs_btree_check_delete(), which checks whether degeneration to direct mapping occurs before deleting a b-tree entry, causes memory access outside the block buffer when retrieving the maximum key if the root node has no entries.  This does not usually happen because b-tree mappings with 0 child nodes are never created by mkfs.nilfs2 or nilfs2 itself.  However, it can happen if the b-tree root node read from a device is configured that way, so fix this potential issue by adding a check for that case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47699",
                        "url": "https://ubuntu.com/security/CVE-2024-47699",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()  Patch series \"nilfs2: fix potential issues with empty b-tree nodes\".  This series addresses three potential issues with empty b-tree nodes that can occur with corrupted filesystem images, including one recently discovered by syzbot.   This patch (of 3):  If a b-tree is broken on the device, and the b-tree height is greater than 2 (the level of the root node is greater than 1) even if the number of child nodes of the b-tree root is 0, a NULL pointer dereference occurs in nilfs_btree_prepare_insert(), which is called from nilfs_btree_insert().  This is because, when the number of child nodes of the b-tree root is 0, nilfs_btree_do_lookup() does not set the block buffer head in any of path[x].bp_bh, leaving it as the initial value of NULL, but if the level of the b-tree root node is greater than 1, nilfs_btree_get_nonroot_node(), which accesses the buffer memory of path[x].bp_bh, is called.  Fix this issue by adding a check to nilfs_btree_root_broken(), which performs sanity checks when reading the root node from the device, to detect this inconsistency.  Thanks to Lizhi Xu for trying to solve the bug and clarifying the cause early on.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47701",
                        "url": "https://ubuntu.com/security/CVE-2024-47701",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: avoid OOB when system.data xattr changes underneath the filesystem  When looking up for an entry in an inlined directory, if e_value_offs is changed underneath the filesystem by some change in the block device, it will lead to an out-of-bounds access that KASAN detects as an UAF.  EXT4-fs (loop0): mounted filesystem 00000000-0000-0000-0000-000000000000 r/w without journal. Quota mode: none. loop0: detected capacity change from 2048 to 2047 ================================================================== BUG: KASAN: use-after-free in ext4_search_dir+0xf2/0x1c0 fs/ext4/namei.c:1500 Read of size 1 at addr ffff88803e91130f by task syz-executor269/5103  CPU: 0 UID: 0 PID: 5103 Comm: syz-executor269 Not tainted 6.11.0-rc4-syzkaller #0 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 lib/dump_stack.c:93 [inline]  dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119  print_address_description mm/kasan/report.c:377 [inline]  print_report+0x169/0x550 mm/kasan/report.c:488  kasan_report+0x143/0x180 mm/kasan/report.c:601  ext4_search_dir+0xf2/0x1c0 fs/ext4/namei.c:1500  ext4_find_inline_entry+0x4be/0x5e0 fs/ext4/inline.c:1697  __ext4_find_entry+0x2b4/0x1b30 fs/ext4/namei.c:1573  ext4_lookup_entry fs/ext4/namei.c:1727 [inline]  ext4_lookup+0x15f/0x750 fs/ext4/namei.c:1795  lookup_one_qstr_excl+0x11f/0x260 fs/namei.c:1633  filename_create+0x297/0x540 fs/namei.c:3980  do_symlinkat+0xf9/0x3a0 fs/namei.c:4587  __do_sys_symlinkat fs/namei.c:4610 [inline]  __se_sys_symlinkat fs/namei.c:4607 [inline]  __x64_sys_symlinkat+0x95/0xb0 fs/namei.c:4607  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f3e73ced469 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 21 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fff4d40c258 EFLAGS: 00000246 ORIG_RAX: 000000000000010a RAX: ffffffffffffffda RBX: 0032656c69662f2e RCX: 00007f3e73ced469 RDX: 0000000020000200 RSI: 00000000ffffff9c RDI: 00000000200001c0 RBP: 0000000000000000 R08: 00007fff4d40c290 R09: 00007fff4d40c290 R10: 0023706f6f6c2f76 R11: 0000000000000246 R12: 00007fff4d40c27c R13: 0000000000000003 R14: 431bde82d7b634db R15: 00007fff4d40c2b0  </TASK>  Calling ext4_xattr_ibody_find right after reading the inode with ext4_get_inode_loc will lead to a check of the validity of the xattrs, avoiding this problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49851",
                        "url": "https://ubuntu.com/security/CVE-2024-49851",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Clean up TPM space after command failure  tpm_dev_transmit prepares the TPM space before attempting command transmission. However if the command fails no rollback of this preparation is done. This can result in transient handles being leaked if the device is subsequently closed with no further commands performed.  Fix this by flushing the space in the event of command transmission failure.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47723",
                        "url": "https://ubuntu.com/security/CVE-2024-47723",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: fix out-of-bounds in dbNextAG() and diAlloc()  In dbNextAG() , there is no check for the case where bmp->db_numag is greater or same than MAXAG due to a polluted image, which causes an out-of-bounds. Therefore, a bounds check should be added in dbMount().  And in dbNextAG(), a check for the case where agpref is greater than bmp->db_numag should be added, so an out-of-bounds exception should be prevented.  Additionally, a check for the case where agno is greater or same than MAXAG should be added in diAlloc() to prevent out-of-bounds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47706",
                        "url": "https://ubuntu.com/security/CVE-2024-47706",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block, bfq: fix possible UAF for bfqq->bic with merge chain  1) initial state, three tasks:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t\t  |  ?            |  ?\t\t  |  ? \t\t  |  |            |  |\t\t  |  | \t\t  V  |            V  |\t\t  V  | \t\t  bfqq1           bfqq2\t\t  bfqq3 process ref:\t   1\t\t    1\t\t    1  2) bfqq1 merged to bfqq2:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t\t  |               |\t\t  |  ? \t\t  \\--------------\\|\t\t  |  | \t\t                  V\t\t  V  | \t\t  bfqq1--------->bfqq2\t\t  bfqq3 process ref:\t   0\t\t    2\t\t    1  3) bfqq2 merged to bfqq3:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t here -> ?                |\t\t  | \t\t  \\--------------\\ \\-------------\\| \t\t                  V\t\t  V \t\t  bfqq1--------->bfqq2---------->bfqq3 process ref:\t   0\t\t    1\t\t    3  In this case, IO from Process 1 will get bfqq2 from BIC1 first, and then get bfqq3 through merge chain, and finially handle IO by bfqq3. Howerver, current code will think bfqq2 is owned by BIC1, like initial state, and set bfqq2->bic to BIC1.  bfq_insert_request -> by Process 1  bfqq = bfq_init_rq(rq)   bfqq = bfq_get_bfqq_handle_split    bfqq = bic_to_bfqq    -> get bfqq2 from BIC1  bfqq->ref++  rq->elv.priv[0] = bic  rq->elv.priv[1] = bfqq  if (bfqq_process_refs(bfqq) == 1)   bfqq->bic = bic   -> record BIC1 to bfqq2    __bfq_insert_request    new_bfqq = bfq_setup_cooperator    -> get bfqq3 from bfqq2->new_bfqq    bfqq_request_freed(bfqq)    new_bfqq->ref++    rq->elv.priv[1] = new_bfqq    -> handle IO by bfqq3  Fix the problem by checking bfqq is from merge chain fist. And this might fix a following problem reported by our syzkaller(unreproducible):  ================================================================== BUG: KASAN: slab-use-after-free in bfq_do_early_stable_merge block/bfq-iosched.c:5692 [inline] BUG: KASAN: slab-use-after-free in bfq_do_or_sched_stable_merge block/bfq-iosched.c:5805 [inline] BUG: KASAN: slab-use-after-free in bfq_get_queue+0x25b0/0x2610 block/bfq-iosched.c:5889 Write of size 1 at addr ffff888123839eb8 by task kworker/0:1H/18595  CPU: 0 PID: 18595 Comm: kworker/0:1H Tainted: G             L    6.6.0-07439-gba2303cacfda #6 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 Workqueue: kblockd blk_mq_requeue_work Call Trace:  <TASK>  __dump_stack lib/dump_stack.c:88 [inline]  dump_stack_lvl+0x91/0xf0 lib/dump_stack.c:106  print_address_description mm/kasan/report.c:364 [inline]  print_report+0x10d/0x610 mm/kasan/report.c:475  kasan_report+0x8e/0xc0 mm/kasan/report.c:588  bfq_do_early_stable_merge block/bfq-iosched.c:5692 [inline]  bfq_do_or_sched_stable_merge block/bfq-iosched.c:5805 [inline]  bfq_get_queue+0x25b0/0x2610 block/bfq-iosched.c:5889  bfq_get_bfqq_handle_split+0x169/0x5d0 block/bfq-iosched.c:6757  bfq_init_rq block/bfq-iosched.c:6876 [inline]  bfq_insert_request block/bfq-iosched.c:6254 [inline]  bfq_insert_requests+0x1112/0x5cf0 block/bfq-iosched.c:6304  blk_mq_insert_request+0x290/0x8d0 block/blk-mq.c:2593  blk_mq_requeue_work+0x6bc/0xa70 block/blk-mq.c:1502  process_one_work kernel/workqueue.c:2627 [inline]  process_scheduled_works+0x432/0x13f0 kernel/workqueue.c:2700  worker_thread+0x6f2/0x1160 kernel/workqueue.c:2781  kthread+0x33c/0x440 kernel/kthread.c:388  ret_from_fork+0x4d/0x80 arch/x86/kernel/process.c:147  ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:305  </TASK>  Allocated by task 20776:  kasan_save_stack+0x20/0x40 mm/kasan/common.c:45  kasan_set_track+0x25/0x30 mm/kasan/common.c:52  __kasan_slab_alloc+0x87/0x90 mm/kasan/common.c:328  kasan_slab_alloc include/linux/kasan.h:188 [inline]  slab_post_alloc_hook mm/slab.h:763 [inline]  slab_alloc_node mm/slub.c:3458 [inline]  kmem_cache_alloc_node+0x1a4/0x6f0 mm/slub.c:3503  ioc_create_icq block/blk-ioc.c:370 [inline] ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47709",
                        "url": "https://ubuntu.com/security/CVE-2024-47709",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  can: bcm: Clear bo->bcm_proc_read after remove_proc_entry().  syzbot reported a warning in bcm_release(). [0]  The blamed change fixed another warning that is triggered when connect() is issued again for a socket whose connect()ed device has been unregistered.  However, if the socket is just close()d without the 2nd connect(), the remaining bo->bcm_proc_read triggers unnecessary remove_proc_entry() in bcm_release().  Let's clear bo->bcm_proc_read after remove_proc_entry() in bcm_notify().  [0] name '4986' WARNING: CPU: 0 PID: 5234 at fs/proc/generic.c:711 remove_proc_entry+0x2e7/0x5d0 fs/proc/generic.c:711 Modules linked in: CPU: 0 UID: 0 PID: 5234 Comm: syz-executor606 Not tainted 6.11.0-rc5-syzkaller-00178-g5517ae241919 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 RIP: 0010:remove_proc_entry+0x2e7/0x5d0 fs/proc/generic.c:711 Code: ff eb 05 e8 cb 1e 5e ff 48 8b 5c 24 10 48 c7 c7 e0 f7 aa 8e e8 2a 38 8e 09 90 48 c7 c7 60 3a 1b 8c 48 89 de e8 da 42 20 ff 90 <0f> 0b 90 90 48 8b 44 24 18 48 c7 44 24 40 0e 36 e0 45 49 c7 04 07 RSP: 0018:ffffc9000345fa20 EFLAGS: 00010246 RAX: 2a2d0aee2eb64600 RBX: ffff888032f1f548 RCX: ffff888029431e00 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffc9000345fb08 R08: ffffffff8155b2f2 R09: 1ffff1101710519a R10: dffffc0000000000 R11: ffffed101710519b R12: ffff888011d38640 R13: 0000000000000004 R14: 0000000000000000 R15: dffffc0000000000 FS:  0000000000000000(0000) GS:ffff8880b8800000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fcfb52722f0 CR3: 000000000e734000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  bcm_release+0x250/0x880 net/can/bcm.c:1578  __sock_release net/socket.c:659 [inline]  sock_close+0xbc/0x240 net/socket.c:1421  __fput+0x24a/0x8a0 fs/file_table.c:422  task_work_run+0x24f/0x310 kernel/task_work.c:228  exit_task_work include/linux/task_work.h:40 [inline]  do_exit+0xa2f/0x27f0 kernel/exit.c:882  do_group_exit+0x207/0x2c0 kernel/exit.c:1031  __do_sys_exit_group kernel/exit.c:1042 [inline]  __se_sys_exit_group kernel/exit.c:1040 [inline]  __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1040  x64_sys_call+0x2634/0x2640 arch/x86/include/generated/asm/syscalls_64.h:232  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fcfb51ee969 Code: Unable to access opcode bytes at 0x7fcfb51ee93f. RSP: 002b:00007ffce0109ca8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7 RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007fcfb51ee969 RDX: 000000000000003c RSI: 00000000000000e7 RDI: 0000000000000001 RBP: 00007fcfb526f3b0 R08: ffffffffffffffb8 R09: 0000555500000000 R10: 0000555500000000 R11: 0000000000000246 R12: 00007fcfb526f3b0 R13: 0000000000000000 R14: 00007fcfb5271ee0 R15: 00007fcfb51bf160  </TASK>",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47710",
                        "url": "https://ubuntu.com/security/CVE-2024-47710",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sock_map: Add a cond_resched() in sock_hash_free()  Several syzbot soft lockup reports all have in common sock_hash_free()  If a map with a large number of buckets is destroyed, we need to yield the cpu when needed.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47712",
                        "url": "https://ubuntu.com/security/CVE-2024-47712",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: wilc1000: fix potential RCU dereference issue in wilc_parse_join_bss_param  In the `wilc_parse_join_bss_param` function, the TSF field of the `ies` structure is accessed after the RCU read-side critical section is unlocked. According to RCU usage rules, this is illegal. Reusing this pointer can lead to unpredictable behavior, including accessing memory that has been updated or causing use-after-free issues.  This possible bug was identified using a static analysis tool developed by myself, specifically designed to detect RCU-related issues.  To address this, the TSF value is now stored in a local variable `ies_tsf` before the RCU lock is released. The `param->tsf_lo` field is then assigned using this local variable, ensuring that the TSF value is safely accessed.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47713",
                        "url": "https://ubuntu.com/security/CVE-2024-47713",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()  Since '__dev_queue_xmit()' should be called with interrupts enabled, the following backtrace:  ieee80211_do_stop()  ...  spin_lock_irqsave(&local->queue_stop_reason_lock, flags)  ...  ieee80211_free_txskb()   ieee80211_report_used_skb()    ieee80211_report_ack_skb()     cfg80211_mgmt_tx_status_ext()      nl80211_frame_tx_status()       genlmsg_multicast_netns()        genlmsg_multicast_netns_filtered()         nlmsg_multicast_filtered() \t netlink_broadcast_filtered() \t  do_one_broadcast() \t   netlink_broadcast_deliver() \t    __netlink_sendskb() \t     netlink_deliver_tap() \t      __netlink_deliver_tap_skb() \t       dev_queue_xmit() \t        __dev_queue_xmit() ; with IRQS disabled  ...  spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags)  issues the warning (as reported by syzbot reproducer):  WARNING: CPU: 2 PID: 5128 at kernel/softirq.c:362 __local_bh_enable_ip+0xc3/0x120  Fix this by implementing a two-phase skb reclamation in 'ieee80211_do_stop()', where actual work is performed outside of a section with interrupts disabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47671",
                        "url": "https://ubuntu.com/security/CVE-2024-47671",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  USB: usbtmc: prevent kernel-usb-infoleak  The syzbot reported a kernel-usb-infoleak in usbtmc_write, we need to clear the structure before filling fields.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-09 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-44931",
                        "url": "https://ubuntu.com/security/CVE-2024-44931",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gpio: prevent potential speculation leaks in gpio_device_get_desc()  Userspace may trigger a speculative read of an address outside the gpio descriptor array. Users can do that by calling gpio_ioctl() with an offset out of range. Offset is copied from user and then used as an array index to get the gpio descriptor without sanitization in gpio_device_get_desc().  This change ensures that the offset is sanitized by using array_index_nospec() to mitigate any possibility of speculative information leaks.  This bug was discovered and resolved using Coverity Static Analysis Security Testing (SAST) by Synopsys, Inc.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-08-26 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-41016",
                        "url": "https://ubuntu.com/security/CVE-2024-41016",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry()  xattr in ocfs2 maybe 'non-indexed', which saved with additional space requested.  It's better to check if the memory is out of bound before memcmp, although this possibility mainly comes from crafted poisonous images.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-29 07:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47670",
                        "url": "https://ubuntu.com/security/CVE-2024-47670",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: add bounds checking to ocfs2_xattr_find_entry()  Add a paranoia check to make sure it doesn't stray beyond valid memory region containing ocfs2 xattr entries when scanning for a match.  It will prevent out-of-bound access in case of crafted images.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-09 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47672",
                        "url": "https://ubuntu.com/security/CVE-2024-47672",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead  There is a WARNING in iwl_trans_wait_tx_queues_empty() (that was recently converted from just a message), that can be hit if we wait for TX queues to become empty after firmware died. Clearly, we can't expect anything from the firmware after it's declared dead.  Don't call iwl_trans_wait_tx_queues_empty() in this case. While it could be a good idea to stop the flow earlier, the flush functions do some maintenance work that is not related to the firmware, so keep that part of the code running even when the firmware is not running.  [edit commit message]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-09 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-46853",
                        "url": "https://ubuntu.com/security/CVE-2024-46853",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: nxp-fspi: fix the KASAN report out-of-bounds bug  Change the memcpy length to fix the out-of-bounds issue when writing the data that is not 4 byte aligned to TX FIFO.  To reproduce the issue, write 3 bytes data to NOR chip.  dd if=3b of=/dev/mtd0 [   36.926103] ================================================================== [   36.933409] BUG: KASAN: slab-out-of-bounds in nxp_fspi_exec_op+0x26ec/0x2838 [   36.940514] Read of size 4 at addr ffff00081037c2a0 by task dd/455 [   36.946721] [   36.948235] CPU: 3 UID: 0 PID: 455 Comm: dd Not tainted 6.11.0-rc5-gc7b0e37c8434 #1070 [   36.956185] Hardware name: Freescale i.MX8QM MEK (DT) [   36.961260] Call trace: [   36.963723]  dump_backtrace+0x90/0xe8 [   36.967414]  show_stack+0x18/0x24 [   36.970749]  dump_stack_lvl+0x78/0x90 [   36.974451]  print_report+0x114/0x5cc [   36.978151]  kasan_report+0xa4/0xf0 [   36.981670]  __asan_report_load_n_noabort+0x1c/0x28 [   36.986587]  nxp_fspi_exec_op+0x26ec/0x2838 [   36.990800]  spi_mem_exec_op+0x8ec/0xd30 [   36.994762]  spi_mem_no_dirmap_read+0x190/0x1e0 [   36.999323]  spi_mem_dirmap_write+0x238/0x32c [   37.003710]  spi_nor_write_data+0x220/0x374 [   37.007932]  spi_nor_write+0x110/0x2e8 [   37.011711]  mtd_write_oob_std+0x154/0x1f0 [   37.015838]  mtd_write_oob+0x104/0x1d0 [   37.019617]  mtd_write+0xb8/0x12c [   37.022953]  mtdchar_write+0x224/0x47c [   37.026732]  vfs_write+0x1e4/0x8c8 [   37.030163]  ksys_write+0xec/0x1d0 [   37.033586]  __arm64_sys_write+0x6c/0x9c [   37.037539]  invoke_syscall+0x6c/0x258 [   37.041327]  el0_svc_common.constprop.0+0x160/0x22c [   37.046244]  do_el0_svc+0x44/0x5c [   37.049589]  el0_svc+0x38/0x78 [   37.052681]  el0t_64_sync_handler+0x13c/0x158 [   37.057077]  el0t_64_sync+0x190/0x194 [   37.060775] [   37.062274] Allocated by task 455: [   37.065701]  kasan_save_stack+0x2c/0x54 [   37.069570]  kasan_save_track+0x20/0x3c [   37.073438]  kasan_save_alloc_info+0x40/0x54 [   37.077736]  __kasan_kmalloc+0xa0/0xb8 [   37.081515]  __kmalloc_noprof+0x158/0x2f8 [   37.085563]  mtd_kmalloc_up_to+0x120/0x154 [   37.089690]  mtdchar_write+0x130/0x47c [   37.093469]  vfs_write+0x1e4/0x8c8 [   37.096901]  ksys_write+0xec/0x1d0 [   37.100332]  __arm64_sys_write+0x6c/0x9c [   37.104287]  invoke_syscall+0x6c/0x258 [   37.108064]  el0_svc_common.constprop.0+0x160/0x22c [   37.112972]  do_el0_svc+0x44/0x5c [   37.116319]  el0_svc+0x38/0x78 [   37.119401]  el0t_64_sync_handler+0x13c/0x158 [   37.123788]  el0t_64_sync+0x190/0x194 [   37.127474] [   37.128977] The buggy address belongs to the object at ffff00081037c2a0 [   37.128977]  which belongs to the cache kmalloc-8 of size 8 [   37.141177] The buggy address is located 0 bytes inside of [   37.141177]  allocated 3-byte region [ffff00081037c2a0, ffff00081037c2a3) [   37.153465] [   37.154971] The buggy address belongs to the physical page: [   37.160559] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x89037c [   37.168596] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff) [   37.175149] page_type: 0xfdffffff(slab) [   37.179021] raw: 0bfffe0000000000 ffff000800002500 dead000000000122 0000000000000000 [   37.186788] raw: 0000000000000000 0000000080800080 00000001fdffffff 0000000000000000 [   37.194553] page dumped because: kasan: bad access detected [   37.200144] [   37.201647] Memory state around the buggy address: [   37.206460]  ffff00081037c180: fa fc fc fc fa fc fc fc fa fc fc fc fa fc fc fc [   37.213701]  ffff00081037c200: fa fc fc fc 05 fc fc fc 03 fc fc fc 02 fc fc fc [   37.220946] >ffff00081037c280: 06 fc fc fc 03 fc fc fc fc fc fc fc fc fc fc fc [   37.228186]                                ^ [   37.232473]  ffff00081037c300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [   37.239718]  ffff00081037c380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [   37.246962] ============================================================== ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-09-27 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-46854",
                        "url": "https://ubuntu.com/security/CVE-2024-46854",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: dpaa: Pad packets to ETH_ZLEN  When sending packets under 60 bytes, up to three bytes of the buffer following the data may be leaked. Avoid this by extending all packets to ETH_ZLEN, ensuring nothing is leaked in the padding. This bug can be reproduced by running  \t$ ping -s 11 destination",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-09-27 13:15:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [
                    2093775,
                    2086606,
                    2089233,
                    2095347,
                    2095348,
                    2093785,
                    2078011,
                    2089699,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2086606,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233
                ],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2024-43863",
                                "url": "https://ubuntu.com/security/CVE-2024-43863",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/vmwgfx: Fix a deadlock in dma buf fence polling  Introduce a version of the fence ops that on release doesn't remove the fence from the pending list, and thus doesn't require a lock to fix poll->fence wait->fence unref deadlocks.  vmwgfx overwrites the wait callback to iterate over the list of all fences and update their status, to do that it holds a lock to prevent the list modifcations from other threads. The fence destroy callback both deletes the fence and removes it from the list of pending fences, for which it holds a lock.  dma buf polling cb unrefs a fence after it's been signaled: so the poll calls the wait, which signals the fences, which are being destroyed. The destruction tries to acquire the lock on the pending fences list which it can never get because it's held by the wait from which it was called.  Old bug, but not a lot of userspace apps were using dma-buf polling interfaces. Fix those, in particular this fixes KDE stalls/deadlock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-08-21 00:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-40911",
                                "url": "https://ubuntu.com/security/CVE-2024-40911",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: cfg80211: Lock wiphy in cfg80211_get_station  Wiphy should be locked before calling rdev_get_station() (see lockdep assert in ieee80211_get_station()).  This fixes the following kernel NULL dereference:   Unable to handle kernel NULL pointer dereference at virtual address 0000000000000050  Mem abort info:    ESR = 0x0000000096000006    EC = 0x25: DABT (current EL), IL = 32 bits    SET = 0, FnV = 0    EA = 0, S1PTW = 0    FSC = 0x06: level 2 translation fault  Data abort info:    ISV = 0, ISS = 0x00000006    CM = 0, WnR = 0  user pgtable: 4k pages, 48-bit VAs, pgdp=0000000003001000  [0000000000000050] pgd=0800000002dca003, p4d=0800000002dca003, pud=08000000028e9003, pmd=0000000000000000  Internal error: Oops: 0000000096000006 [#1] SMP  Modules linked in: netconsole dwc3_meson_g12a dwc3_of_simple dwc3 ip_gre gre ath10k_pci ath10k_core ath9k ath9k_common ath9k_hw ath  CPU: 0 PID: 1091 Comm: kworker/u8:0 Not tainted 6.4.0-02144-g565f9a3a7911-dirty #705  Hardware name: RPT (r1) (DT)  Workqueue: bat_events batadv_v_elp_throughput_metric_update  pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)  pc : ath10k_sta_statistics+0x10/0x2dc [ath10k_core]  lr : sta_set_sinfo+0xcc/0xbd4  sp : ffff000007b43ad0  x29: ffff000007b43ad0 x28: ffff0000071fa900 x27: ffff00000294ca98  x26: ffff000006830880 x25: ffff000006830880 x24: ffff00000294c000  x23: 0000000000000001 x22: ffff000007b43c90 x21: ffff800008898acc  x20: ffff00000294c6e8 x19: ffff000007b43c90 x18: 0000000000000000  x17: 445946354d552d78 x16: 62661f7200000000 x15: 57464f445946354d  x14: 0000000000000000 x13: 00000000000000e3 x12: d5f0acbcebea978e  x11: 00000000000000e3 x10: 000000010048fe41 x9 : 0000000000000000  x8 : ffff000007b43d90 x7 : 000000007a1e2125 x6 : 0000000000000000  x5 : ffff0000024e0900 x4 : ffff800000a0250c x3 : ffff000007b43c90  x2 : ffff00000294ca98 x1 : ffff000006831920 x0 : 0000000000000000  Call trace:   ath10k_sta_statistics+0x10/0x2dc [ath10k_core]   sta_set_sinfo+0xcc/0xbd4   ieee80211_get_station+0x2c/0x44   cfg80211_get_station+0x80/0x154   batadv_v_elp_get_throughput+0x138/0x1fc   batadv_v_elp_throughput_metric_update+0x1c/0xa4   process_one_work+0x1ec/0x414   worker_thread+0x70/0x46c   kthread+0xdc/0xe0   ret_from_fork+0x10/0x20  Code: a9bb7bfd 910003fd a90153f3 f9411c40 (f9402814)  This happens because STA has time to disconnect and reconnect before batadv_v_elp_throughput_metric_update() delayed work gets scheduled. In this situation, ath10k_sta_state() can be in the middle of resetting arsta data when the work queue get chance to be scheduled and ends up accessing it. Locking wiphy prevents that.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-12 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-35896",
                                "url": "https://ubuntu.com/security/CVE-2024-35896",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: netfilter: validate user input for expected length I got multiple syzbot reports showing old bugs exposed by BPF after commit 20f2505fb436 (\"bpf: Try to avoid kzalloc in cgroup/{s,g}etsockopt\") setsockopt() @optlen argument should be taken into account before copying data. BUG: KASAN: slab-out-of-bounds in copy_from_sockptr_offset include/linux/sockptr.h:49 [inline] BUG: KASAN: slab-out-of-bounds in copy_from_sockptr include/linux/sockptr.h:55 [inline] BUG: KASAN: slab-out-of-bounds in do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline] BUG: KASAN: slab-out-of-bounds in do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627 Read of size 96 at addr ffff88802cd73da0 by task syz-executor.4/7238 CPU: 1 PID: 7238 Comm: syz-executor.4 Not tainted 6.9.0-rc2-next-20240403-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 print_address_description mm/kasan/report.c:377 [inline] print_report+0x169/0x550 mm/kasan/report.c:488 kasan_report+0x143/0x180 mm/kasan/report.c:601 kasan_check_range+0x282/0x290 mm/kasan/generic.c:189 __asan_memcpy+0x29/0x70 mm/kasan/shadow.c:105 copy_from_sockptr_offset include/linux/sockptr.h:49 [inline] copy_from_sockptr include/linux/sockptr.h:55 [inline] do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline] do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627 nf_setsockopt+0x295/0x2c0 net/netfilter/nf_sockopt.c:101 do_sock_setsockopt+0x3af/0x720 net/socket.c:2311 __sys_setsockopt+0x1ae/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340 do_syscall_64+0xfb/0x240 entry_SYSCALL_64_after_hwframe+0x72/0x7a RIP: 0033:0x7fd22067dde9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fd21f9ff0c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 00007fd2207abf80 RCX: 00007fd22067dde9 RDX: 0000000000000040 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 00007fd2206ca47a R08: 0000000000000001 R09: 0000000000000000 R10: 0000000020000880 R11: 0000000000000246 R12: 0000000000000000 R13: 000000000000000b R14: 00007fd2207abf80 R15: 00007ffd2d0170d8 </TASK> Allocated by task 7238: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:370 [inline] __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:387 kasan_kmalloc include/linux/kasan.h:211 [inline] __do_kmalloc_node mm/slub.c:4069 [inline] __kmalloc_noprof+0x200/0x410 mm/slub.c:4082 kmalloc_noprof include/linux/slab.h:664 [inline] __cgroup_bpf_run_filter_setsockopt+0xd47/0x1050 kernel/bpf/cgroup.c:1869 do_sock_setsockopt+0x6b4/0x720 net/socket.c:2293 __sys_setsockopt+0x1ae/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340 do_syscall_64+0xfb/0x240 entry_SYSCALL_64_after_hwframe+0x72/0x7a The buggy address belongs to the object at ffff88802cd73da0 which belongs to the cache kmalloc-8 of size 8 The buggy address is located 0 bytes inside of allocated 1-byte region [ffff88802cd73da0, ffff88802cd73da1) The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff88802cd73020 pfn:0x2cd73 flags: 0xfff80000000000(node=0|zone=1|lastcpupid=0xfff) page_type: 0xffffefff(slab) raw: 00fff80000000000 ffff888015041280 dead000000000100 dead000000000122 raw: ffff88802cd73020 000000008080007f 00000001ffffefff 00 ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-05-19 09:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2023-52458",
                                "url": "https://ubuntu.com/security/CVE-2023-52458",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: block: add check that partition length needs to be aligned with block size Before calling add partition or resize partition, there is no check on whether the length is aligned with the logical block size. If the logical block size of the disk is larger than 512 bytes, then the partition size maybe not the multiple of the logical block size, and when the last sector is read, bio_truncate() will adjust the bio size, resulting in an IO error if the size of the read command is smaller than the logical block size.If integrity data is supported, this will also result in a null pointer dereference when calling bio_integrity_free.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-02-23 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-35887",
                                "url": "https://ubuntu.com/security/CVE-2024-35887",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: ax25: fix use-after-free bugs caused by ax25_ds_del_timer When the ax25 device is detaching, the ax25_dev_device_down() calls ax25_ds_del_timer() to cleanup the slave_timer. When the timer handler is running, the ax25_ds_del_timer() that calls del_timer() in it will return directly. As a result, the use-after-free bugs could happen, one of the scenarios is shown below: (Thread 1) | (Thread 2) | ax25_ds_timeout() ax25_dev_device_down() | ax25_ds_del_timer() | del_timer() | ax25_dev_put() //FREE | | ax25_dev-> //USE In order to mitigate bugs, when the device is detaching, use timer_shutdown_sync() to stop the timer.",
                                "cve_priority": "low",
                                "cve_public_date": "2024-05-19 09:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-40965",
                                "url": "https://ubuntu.com/security/CVE-2024-40965",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  i2c: lpi2c: Avoid calling clk_get_rate during transfer  Instead of repeatedly calling clk_get_rate for each transfer, lock the clock rate and cache the value. A deadlock has been observed while adding tlv320aic32x4 audio codec to the system. When this clock provider adds its clock, the clk mutex is locked already, it needs to access i2c, which in return needs the mutex for clk_get_rate as well.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-12 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-40982",
                                "url": "https://ubuntu.com/security/CVE-2024-40982",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-12 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-41066",
                                "url": "https://ubuntu.com/security/CVE-2024-41066",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ibmvnic: Add tx check to prevent skb leak  Below is a summary of how the driver stores a reference to an skb during transmit:     tx_buff[free_map[consumer_index]]->skb = new_skb;     free_map[consumer_index] = IBMVNIC_INVALID_MAP;     consumer_index ++; Where variable data looks like this:     free_map == [4, IBMVNIC_INVALID_MAP, IBMVNIC_INVALID_MAP, 0, 3]                                                \tconsumer_index^     tx_buff == [skb=null, skb=<ptr>, skb=<ptr>, skb=null, skb=null]  The driver has checks to ensure that free_map[consumer_index] pointed to a valid index but there was no check to ensure that this index pointed to an unused/null skb address. So, if, by some chance, our free_map and tx_buff lists become out of sync then we were previously risking an skb memory leak. This could then cause tcp congestion control to stop sending packets, eventually leading to ETIMEDOUT.  Therefore, add a conditional to ensure that the skb address is null. If not then warn the user (because this is still a bug that should be patched) and free the old pointer to prevent memleak/tcp problems.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-29 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-42252",
                                "url": "https://ubuntu.com/security/CVE-2024-42252",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  closures: Change BUG_ON() to WARN_ON()  If a BUG_ON() can be hit in the wild, it shouldn't be a BUG_ON()  For reference, this has popped up once in the CI, and we'll need more info to debug it:  03240 ------------[ cut here ]------------ 03240 kernel BUG at lib/closure.c:21! 03240 kernel BUG at lib/closure.c:21! 03240 Internal error: Oops - BUG: 00000000f2000800 [#1] SMP 03240 Modules linked in: 03240 CPU: 15 PID: 40534 Comm: kworker/u80:1 Not tainted 6.10.0-rc4-ktest-ga56da69799bd #25570 03240 Hardware name: linux,dummy-virt (DT) 03240 Workqueue: btree_update btree_interior_update_work 03240 pstate: 00001005 (nzcv daif -PAN -UAO -TCO -DIT +SSBS BTYPE=--) 03240 pc : closure_put+0x224/0x2a0 03240 lr : closure_put+0x24/0x2a0 03240 sp : ffff0000d12071c0 03240 x29: ffff0000d12071c0 x28: dfff800000000000 x27: ffff0000d1207360 03240 x26: 0000000000000040 x25: 0000000000000040 x24: 0000000000000040 03240 x23: ffff0000c1f20180 x22: 0000000000000000 x21: ffff0000c1f20168 03240 x20: 0000000040000000 x19: ffff0000c1f20140 x18: 0000000000000001 03240 x17: 0000000000003aa0 x16: 0000000000003ad0 x15: 1fffe0001c326974 03240 x14: 0000000000000a1e x13: 0000000000000000 x12: 1fffe000183e402d 03240 x11: ffff6000183e402d x10: dfff800000000000 x9 : ffff6000183e402e 03240 x8 : 0000000000000001 x7 : 00009fffe7c1bfd3 x6 : ffff0000c1f2016b 03240 x5 : ffff0000c1f20168 x4 : ffff6000183e402e x3 : ffff800081391954 03240 x2 : 0000000000000001 x1 : 0000000000000000 x0 : 00000000a8000000 03240 Call trace: 03240  closure_put+0x224/0x2a0 03240  bch2_check_for_deadlock+0x910/0x1028 03240  bch2_six_check_for_deadlock+0x1c/0x30 03240  six_lock_slowpath.isra.0+0x29c/0xed0 03240  six_lock_ip_waiter+0xa8/0xf8 03240  __bch2_btree_node_lock_write+0x14c/0x298 03240  bch2_trans_lock_write+0x6d4/0xb10 03240  __bch2_trans_commit+0x135c/0x5520 03240  btree_interior_update_work+0x1248/0x1c10 03240  process_scheduled_works+0x53c/0xd90 03240  worker_thread+0x370/0x8c8 03240  kthread+0x258/0x2e8 03240  ret_from_fork+0x10/0x20 03240 Code: aa1303e0 d63f0020 a94363f7 17ffff8c (d4210000) 03240 ---[ end trace 0000000000000000 ]--- 03240 Kernel panic - not syncing: Oops - BUG: Fatal exception 03240 SMP: stopping secondary CPUs 03241 SMP: failed to stop secondary CPUs 13,15 03241 Kernel Offset: disabled 03241 CPU features: 0x00,00000003,80000008,4240500b 03241 Memory Limit: none 03241 ---[ end Kernel panic - not syncing: Oops - BUG: Fatal exception ]--- 03246 ========= FAILED TIMEOUT copygc_torture_no_checksum in 7200s",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-08-08 09:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-46731",
                                "url": "https://ubuntu.com/security/CVE-2024-46731",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/pm: fix the Out-of-bounds read warning  using index i - 1U may beyond element index for mc_data[] when i = 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-09-18 07:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47674",
                                "url": "https://ubuntu.com/security/CVE-2024-47674",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mm: avoid leaving partial pfn mappings around in error case  As Jann points out, PFN mappings are special, because unlike normal memory mappings, there is no lifetime information associated with the mapping - it is just a raw mapping of PFNs with no reference counting of a 'struct page'.  That's all very much intentional, but it does mean that it's easy to mess up the cleanup in case of errors.  Yes, a failed mmap() will always eventually clean up any partial mappings, but without any explicit lifetime in the page table mapping itself, it's very easy to do the error handling in the wrong order.  In particular, it's easy to mistakenly free the physical backing store before the page tables are actually cleaned up and (temporarily) have stale dangling PTE entries.  To make this situation less error-prone, just make sure that any partial pfn mapping is torn down early, before any other error handling.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-15 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-38588",
                                "url": "https://ubuntu.com/security/CVE-2024-38588",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix possible use-after-free issue in ftrace_location() KASAN reports a bug: BUG: KASAN: use-after-free in ftrace_location+0x90/0x120 Read of size 8 at addr ffff888141d40010 by task insmod/424 CPU: 8 PID: 424 Comm: insmod Tainted: G W 6.9.0-rc2+ [...] Call Trace: <TASK> dump_stack_lvl+0x68/0xa0 print_report+0xcf/0x610 kasan_report+0xb5/0xe0 ftrace_location+0x90/0x120 register_kprobe+0x14b/0xa40 kprobe_init+0x2d/0xff0 [kprobe_example] do_one_initcall+0x8f/0x2d0 do_init_module+0x13a/0x3c0 load_module+0x3082/0x33d0 init_module_from_file+0xd2/0x130 __x64_sys_finit_module+0x306/0x440 do_syscall_64+0x68/0x140 entry_SYSCALL_64_after_hwframe+0x71/0x79 The root cause is that, in lookup_rec(), ftrace record of some address is being searched in ftrace pages of some module, but those ftrace pages at the same time is being freed in ftrace_release_mod() as the corresponding module is being deleted: CPU1 | CPU2 register_kprobes() { | delete_module() { check_kprobe_address_safe() { | arch_check_ftrace_location() { | ftrace_location() { | lookup_rec() // USE! | ftrace_release_mod() // Free! To fix this issue: 1. Hold rcu lock as accessing ftrace pages in ftrace_location_range(); 2. Use ftrace_location_range() instead of lookup_rec() in ftrace_location(); 3. Call synchronize_rcu() before freeing any ftrace pages both in ftrace_process_locs()/ftrace_release_mod()/ftrace_free_mem().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-06-19 14:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50265",
                                "url": "https://ubuntu.com/security/CVE-2024-50265",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: remove entry once instead of null-ptr-dereference in ocfs2_xa_remove()  Syzkaller is able to provoke null-ptr-dereference in ocfs2_xa_remove():  [   57.319872] (a.out,1161,7):ocfs2_xa_remove:2028 ERROR: status = -12 [   57.320420] (a.out,1161,7):ocfs2_xa_cleanup_value_truncate:1999 ERROR: Partial truncate while removing xattr overlay.upper.  Leaking 1 clusters and removing the entry [   57.321727] BUG: kernel NULL pointer dereference, address: 0000000000000004 [...] [   57.325727] RIP: 0010:ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [...] [   57.331328] Call Trace: [   57.331477]  <TASK> [...] [   57.333511]  ? do_user_addr_fault+0x3e5/0x740 [   57.333778]  ? exc_page_fault+0x70/0x170 [   57.334016]  ? asm_exc_page_fault+0x2b/0x30 [   57.334263]  ? __pfx_ocfs2_xa_block_wipe_namevalue+0x10/0x10 [   57.334596]  ? ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [   57.334913]  ocfs2_xa_remove_entry+0x23/0xc0 [   57.335164]  ocfs2_xa_set+0x704/0xcf0 [   57.335381]  ? _raw_spin_unlock+0x1a/0x40 [   57.335620]  ? ocfs2_inode_cache_unlock+0x16/0x20 [   57.335915]  ? trace_preempt_on+0x1e/0x70 [   57.336153]  ? start_this_handle+0x16c/0x500 [   57.336410]  ? preempt_count_sub+0x50/0x80 [   57.336656]  ? _raw_read_unlock+0x20/0x40 [   57.336906]  ? start_this_handle+0x16c/0x500 [   57.337162]  ocfs2_xattr_block_set+0xa6/0x1e0 [   57.337424]  __ocfs2_xattr_set_handle+0x1fd/0x5d0 [   57.337706]  ? ocfs2_start_trans+0x13d/0x290 [   57.337971]  ocfs2_xattr_set+0xb13/0xfb0 [   57.338207]  ? dput+0x46/0x1c0 [   57.338393]  ocfs2_xattr_trusted_set+0x28/0x30 [   57.338665]  ? ocfs2_xattr_trusted_set+0x28/0x30 [   57.338948]  __vfs_removexattr+0x92/0xc0 [   57.339182]  __vfs_removexattr_locked+0xd5/0x190 [   57.339456]  ? preempt_count_sub+0x50/0x80 [   57.339705]  vfs_removexattr+0x5f/0x100 [...]  Reproducer uses faultinject facility to fail ocfs2_xa_remove() -> ocfs2_xa_value_truncate() with -ENOMEM.  In this case the comment mentions that we can return 0 if ocfs2_xa_cleanup_value_truncate() is going to wipe the entry anyway. But the following 'rc' check is wrong and execution flow do 'ocfs2_xa_remove_entry(loc);' twice: * 1st: in ocfs2_xa_cleanup_value_truncate(); * 2nd: returning back to ocfs2_xa_remove() instead of going to 'out'.  Fix this by skipping the 2nd removal of the same entry and making syzkaller repro happy.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50267",
                                "url": "https://ubuntu.com/security/CVE-2024-50267",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  USB: serial: io_edgeport: fix use after free in debug printk  The \"dev_dbg(&urb->dev->dev, ...\" which happens after usb_free_urb(urb) is a use after free of the \"urb\" pointer.  Store the \"dev\" pointer at the start of the function to avoid this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50269",
                                "url": "https://ubuntu.com/security/CVE-2024-50269",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: musb: sunxi: Fix accessing an released usb phy  Commit 6ed05c68cbca (\"usb: musb: sunxi: Explicitly release USB PHY on exit\") will cause that usb phy @glue->xceiv is accessed after released.  1) register platform driver @sunxi_musb_driver // get the usb phy @glue->xceiv sunxi_musb_probe() -> devm_usb_get_phy().  2) register and unregister platform driver @musb_driver musb_probe() -> sunxi_musb_init() use the phy here //the phy is released here musb_remove() -> sunxi_musb_exit() -> devm_usb_put_phy()  3) register @musb_driver again musb_probe() -> sunxi_musb_init() use the phy here but the phy has been released at 2). ...  Fixed by reverting the commit, namely, removing devm_usb_put_phy() from sunxi_musb_exit().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2021-47469",
                                "url": "https://ubuntu.com/security/CVE-2021-47469",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: spi: Fix deadlock when adding SPI controllers on SPI buses Currently we have a global spi_add_lock which we take when adding new devices so that we can check that we're not trying to reuse a chip select that's already controlled. This means that if the SPI device is itself a SPI controller and triggers the instantiation of further SPI devices we trigger a deadlock as we try to register and instantiate those devices while in the process of doing so for the parent controller and hence already holding the global spi_add_lock. Since we only care about concurrency within a single SPI bus move the lock to be per controller, avoiding the deadlock. This can be easily triggered in the case of spi-mux.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-05-22 07:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50273",
                                "url": "https://ubuntu.com/security/CVE-2024-50273",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: reinitialize delayed ref list after deleting it from the list  At insert_delayed_ref() if we need to update the action of an existing ref to BTRFS_DROP_DELAYED_REF, we delete the ref from its ref head's ref_add_list using list_del(), which leaves the ref's add_list member not reinitialized, as list_del() sets the next and prev members of the list to LIST_POISON1 and LIST_POISON2, respectively.  If later we end up calling drop_delayed_ref() against the ref, which can happen during merging or when destroying delayed refs due to a transaction abort, we can trigger a crash since at drop_delayed_ref() we call list_empty() against the ref's add_list, which returns false since the list was not reinitialized after the list_del() and as a consequence we call list_del() again at drop_delayed_ref(). This results in an invalid list access since the next and prev members are set to poison pointers, resulting in a splat if CONFIG_LIST_HARDENED and CONFIG_DEBUG_LIST are set or invalid poison pointer dereferences otherwise.  So fix this by deleting from the list with list_del_init() instead.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-53066",
                                "url": "https://ubuntu.com/security/CVE-2024-53066",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfs: Fix KMSAN warning in decode_getfattr_attrs()  Fix the following KMSAN warning:  CPU: 1 UID: 0 PID: 7651 Comm: cp Tainted: G    B Tainted: [B]=BAD_PAGE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009) ===================================================== ===================================================== BUG: KMSAN: uninit-value in decode_getfattr_attrs+0x2d6d/0x2f90  decode_getfattr_attrs+0x2d6d/0x2f90  decode_getfattr_generic+0x806/0xb00  nfs4_xdr_dec_getattr+0x1de/0x240  rpcauth_unwrap_resp_decode+0xab/0x100  rpcauth_unwrap_resp+0x95/0xc0  call_decode+0x4ff/0xb50  __rpc_execute+0x57b/0x19d0  rpc_execute+0x368/0x5e0  rpc_run_task+0xcfe/0xee0  nfs4_proc_getattr+0x5b5/0x990  __nfs_revalidate_inode+0x477/0xd00  nfs_access_get_cached+0x1021/0x1cc0  nfs_do_access+0x9f/0xae0  nfs_permission+0x1e4/0x8c0  inode_permission+0x356/0x6c0  link_path_walk+0x958/0x1330  path_lookupat+0xce/0x6b0  filename_lookup+0x23e/0x770  vfs_statx+0xe7/0x970  vfs_fstatat+0x1f2/0x2c0  __se_sys_newfstatat+0x67/0x880  __x64_sys_newfstatat+0xbd/0x120  x64_sys_call+0x1826/0x3cf0  do_syscall_64+0xd0/0x1b0  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The KMSAN warning is triggered in decode_getfattr_attrs(), when calling decode_attr_mdsthreshold(). It appears that fattr->mdsthreshold is not initialized.  Fix the issue by initializing fattr->mdsthreshold to NULL in nfs_fattr_init().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50278",
                                "url": "https://ubuntu.com/security/CVE-2024-50278",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  dm cache: fix potential out-of-bounds access on the first resume  Out-of-bounds access occurs if the fast device is expanded unexpectedly before the first-time resume of the cache table. This happens because expanding the fast device requires reloading the cache table for cache_create to allocate new in-core data structures that fit the new size, and the check in cache_preresume is not performed during the first resume, leading to the issue.  Reproduce steps:  1. prepare component devices:  dmsetup create cmeta --table \"0 8192 linear /dev/sdc 0\" dmsetup create cdata --table \"0 65536 linear /dev/sdc 8192\" dmsetup create corig --table \"0 524288 linear /dev/sdc 262144\" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct  2. load a cache table of 512 cache blocks, and deliberately expand the    fast device before resuming the cache, making the in-core data    structures inadequate.  dmsetup create cache --notable dmsetup reload cache --table \"0 524288 cache /dev/mapper/cmeta \\ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0\" dmsetup reload cdata --table \"0 131072 linear /dev/sdc 8192\" dmsetup resume cdata dmsetup resume cache  3. suspend the cache to write out the in-core dirty bitset and hint    array, leading to out-of-bounds access to the dirty bitset at offset    0x40:  dmsetup suspend cache  KASAN reports:    BUG: KASAN: vmalloc-out-of-bounds in is_dirty_callback+0x2b/0x80   Read of size 8 at addr ffffc90000085040 by task dmsetup/90    (...snip...)   The buggy address belongs to the virtual mapping at    [ffffc90000085000, ffffc90000087000) created by:    cache_ctr+0x176a/0x35f0    (...snip...)   Memory state around the buggy address:    ffffc90000084f00: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc90000084f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8   >ffffc90000085000: 00 00 00 00 00 00 00 00 f8 f8 f8 f8 f8 f8 f8 f8                                              ^    ffffc90000085080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc90000085100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8  Fix by checking the size change on the first resume.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50279",
                                "url": "https://ubuntu.com/security/CVE-2024-50279",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  dm cache: fix out-of-bounds access to the dirty bitset when resizing  dm-cache checks the dirty bits of the cache blocks to be dropped when shrinking the fast device, but an index bug in bitset iteration causes out-of-bounds access.  Reproduce steps:  1. create a cache device of 1024 cache blocks (128 bytes dirty bitset)  dmsetup create cmeta --table \"0 8192 linear /dev/sdc 0\" dmsetup create cdata --table \"0 131072 linear /dev/sdc 8192\" dmsetup create corig --table \"0 524288 linear /dev/sdc 262144\" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct dmsetup create cache --table \"0 524288 cache /dev/mapper/cmeta \\ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0\"  2. shrink the fast device to 512 cache blocks, triggering out-of-bounds    access to the dirty bitset (offset 0x80)  dmsetup suspend cache dmsetup reload cdata --table \"0 65536 linear /dev/sdc 8192\" dmsetup resume cdata dmsetup resume cache  KASAN reports:    BUG: KASAN: vmalloc-out-of-bounds in cache_preresume+0x269/0x7b0   Read of size 8 at addr ffffc900000f3080 by task dmsetup/131    (...snip...)   The buggy address belongs to the virtual mapping at    [ffffc900000f3000, ffffc900000f5000) created by:    cache_ctr+0x176a/0x35f0    (...snip...)   Memory state around the buggy address:    ffffc900000f2f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc900000f3000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >ffffc900000f3080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8                      ^    ffffc900000f3100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc900000f3180: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8  Fix by making the index post-incremented.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50282",
                                "url": "https://ubuntu.com/security/CVE-2024-50282",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: add missing size check in amdgpu_debugfs_gprwave_read()  Avoid a possible buffer overflow if size is larger than 4K.  (cherry picked from commit f5d873f5825b40d886d03bd2aede91d4cf002434)",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50287",
                                "url": "https://ubuntu.com/security/CVE-2024-50287",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: v4l2-tpg: prevent the risk of a division by zero  As reported by Coverity, the logic at tpg_precalculate_line() blindly rescales the buffer even when scaled_witdh is equal to zero. If this ever happens, this will cause a division by zero.  Instead, add a WARN_ON_ONCE() to trigger such cases and return without doing any precalculation.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50290",
                                "url": "https://ubuntu.com/security/CVE-2024-50290",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: cx24116: prevent overflows on SNR calculus  as reported by Coverity, if reading SNR registers fail, a negative number will be returned, causing an underflow when reading SNR registers.  Prevent that.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-53061",
                                "url": "https://ubuntu.com/security/CVE-2024-53061",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: s5p-jpeg: prevent buffer overflows  The current logic allows word to be less than 2. If this happens, there will be buffer overflows, as reported by smatch. Add extra checks to prevent it.  While here, remove an unused word = 0 assignment.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-53063",
                                "url": "https://ubuntu.com/security/CVE-2024-53063",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvbdev: prevent the risk of out of memory access  The dvbdev contains a static variable used to store dvb minors.  The behavior of it depends if CONFIG_DVB_DYNAMIC_MINORS is set or not. When not set, dvb_register_device() won't check for boundaries, as it will rely that a previous call to dvb_register_adapter() would already be enforcing it.  On a similar way, dvb_device_open() uses the assumption that the register functions already did the needed checks.  This can be fragile if some device ends using different calls. This also generate warnings on static check analysers like Coverity.  So, add explicit guards to prevent potential risk of OOM issues.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50296",
                                "url": "https://ubuntu.com/security/CVE-2024-50296",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: fix kernel crash when uninstalling driver  When the driver is uninstalled and the VF is disabled concurrently, a kernel crash occurs. The reason is that the two actions call function pci_disable_sriov(). The num_VFs is checked to determine whether to release the corresponding resources. During the second calling, num_VFs is not 0 and the resource release function is called. However, the corresponding resource has been released during the first invoking. Therefore, the problem occurs:  [15277.839633][T50670] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020 ... [15278.131557][T50670] Call trace: [15278.134686][T50670]  klist_put+0x28/0x12c [15278.138682][T50670]  klist_del+0x14/0x20 [15278.142592][T50670]  device_del+0xbc/0x3c0 [15278.146676][T50670]  pci_remove_bus_device+0x84/0x120 [15278.151714][T50670]  pci_stop_and_remove_bus_device+0x6c/0x80 [15278.157447][T50670]  pci_iov_remove_virtfn+0xb4/0x12c [15278.162485][T50670]  sriov_disable+0x50/0x11c [15278.166829][T50670]  pci_disable_sriov+0x24/0x30 [15278.171433][T50670]  hnae3_unregister_ae_algo_prepare+0x60/0x90 [hnae3] [15278.178039][T50670]  hclge_exit+0x28/0xd0 [hclge] [15278.182730][T50670]  __se_sys_delete_module.isra.0+0x164/0x230 [15278.188550][T50670]  __arm64_sys_delete_module+0x1c/0x30 [15278.193848][T50670]  invoke_syscall+0x50/0x11c [15278.198278][T50670]  el0_svc_common.constprop.0+0x158/0x164 [15278.203837][T50670]  do_el0_svc+0x34/0xcc [15278.207834][T50670]  el0_svc+0x20/0x30  For details, see the following figure.       rmmod hclge              disable VFs ---------------------------------------------------- hclge_exit()            sriov_numvfs_store()   ...                     device_lock()   pci_disable_sriov()     hns3_pci_sriov_configure()                             pci_disable_sriov()                               sriov_disable()     sriov_disable()             if !num_VFs :       if !num_VFs :               return;         return;                 sriov_del_vfs()       sriov_del_vfs()             ...         ...                       klist_put()         klist_put()               ...         ...                     num_VFs = 0;       num_VFs = 0;        device_unlock();  In this patch, when driver is removing, we get the device_lock() to protect num_VFs, just like sriov_numvfs_store().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50299",
                                "url": "https://ubuntu.com/security/CVE-2024-50299",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sctp: properly validate chunk size in sctp_sf_ootb()  A size validation fix similar to that in Commit 50619dbf8db7 (\"sctp: add size validation when walking chunks\") is also required in sctp_sf_ootb() to address a crash reported by syzbot:    BUG: KMSAN: uninit-value in sctp_sf_ootb+0x7f5/0xce0 net/sctp/sm_statefuns.c:3712   sctp_sf_ootb+0x7f5/0xce0 net/sctp/sm_statefuns.c:3712   sctp_do_sm+0x181/0x93d0 net/sctp/sm_sideeffect.c:1166   sctp_endpoint_bh_rcv+0xc38/0xf90 net/sctp/endpointola.c:407   sctp_inq_push+0x2ef/0x380 net/sctp/inqueue.c:88   sctp_rcv+0x3831/0x3b20 net/sctp/input.c:243   sctp4_rcv+0x42/0x50 net/sctp/protocol.c:1159   ip_protocol_deliver_rcu+0xb51/0x13d0 net/ipv4/ip_input.c:205   ip_local_deliver_finish+0x336/0x500 net/ipv4/ip_input.c:233",
                                "cve_priority": "low",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50301",
                                "url": "https://ubuntu.com/security/CVE-2024-50301",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  security/keys: fix slab-out-of-bounds in key_task_permission  KASAN reports an out of bounds read: BUG: KASAN: slab-out-of-bounds in __kuid_val include/linux/uidgid.h:36 BUG: KASAN: slab-out-of-bounds in uid_eq include/linux/uidgid.h:63 [inline] BUG: KASAN: slab-out-of-bounds in key_task_permission+0x394/0x410 security/keys/permission.c:54 Read of size 4 at addr ffff88813c3ab618 by task stress-ng/4362  CPU: 2 PID: 4362 Comm: stress-ng Not tainted 5.10.0-14930-gafbffd6c3ede #15 Call Trace:  __dump_stack lib/dump_stack.c:82 [inline]  dump_stack+0x107/0x167 lib/dump_stack.c:123  print_address_description.constprop.0+0x19/0x170 mm/kasan/report.c:400  __kasan_report.cold+0x6c/0x84 mm/kasan/report.c:560  kasan_report+0x3a/0x50 mm/kasan/report.c:585  __kuid_val include/linux/uidgid.h:36 [inline]  uid_eq include/linux/uidgid.h:63 [inline]  key_task_permission+0x394/0x410 security/keys/permission.c:54  search_nested_keyrings+0x90e/0xe90 security/keys/keyring.c:793  This issue was also reported by syzbot.  It can be reproduced by following these steps(more details [1]): 1. Obtain more than 32 inputs that have similar hashes, which ends with the    pattern '0xxxxxxxe6'. 2. Reboot and add the keys obtained in step 1.  The reproducer demonstrates how this issue happened: 1. In the search_nested_keyrings function, when it iterates through the    slots in a node(below tag ascend_to_node), if the slot pointer is meta    and node->back_pointer != NULL(it means a root), it will proceed to    descend_to_node. However, there is an exception. If node is the root,    and one of the slots points to a shortcut, it will be treated as a    keyring. 2. Whether the ptr is keyring decided by keyring_ptr_is_keyring function.    However, KEYRING_PTR_SUBTYPE is 0x2UL, the same as    ASSOC_ARRAY_PTR_SUBTYPE_MASK. 3. When 32 keys with the similar hashes are added to the tree, the ROOT    has keys with hashes that are not similar (e.g. slot 0) and it splits    NODE A without using a shortcut. When NODE A is filled with keys that    all hashes are xxe6, the keys are similar, NODE A will split with a    shortcut. Finally, it forms the tree as shown below, where slot 6 points    to a shortcut.                        NODE A               +------>+---+       ROOT    |       | 0 | xxe6       +---+   |       +---+  xxxx | 0 | shortcut  :   : xxe6       +---+   |       +---+  xxe6 :   :   |       |   | xxe6       +---+   |       +---+       | 6 |---+       :   : xxe6       +---+           +---+  xxe6 :   :           | f | xxe6       +---+           +---+  xxe6 | f |       +---+  4. As mentioned above, If a slot(slot 6) of the root points to a shortcut,    it may be mistakenly transferred to a key*, leading to a read    out-of-bounds read.  To fix this issue, one should jump to descend_to_node if the ptr is a shortcut, regardless of whether the node is root or not.  [1] https://lore.kernel.org/linux-kernel/1cfa878e-8c7b-4570-8606-21daf5e13ce7@huaweicloud.com/  [jarkko: tweaked the commit message a bit to have an appropriate closes  tag.]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50302",
                                "url": "https://ubuntu.com/security/CVE-2024-50302",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  HID: core: zero-initialize the report buffer  Since the report buffer is used by all kinds of drivers in various ways, let's zero-initialize it during allocation to make sure that it can't be ever used to leak kernel memory via specially-crafted report.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50228",
                                "url": "https://ubuntu.com/security/CVE-2024-50228",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50230",
                                "url": "https://ubuntu.com/security/CVE-2024-50230",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix kernel bug due to missing clearing of checked flag  Syzbot reported that in directory operations after nilfs2 detects filesystem corruption and degrades to read-only, __block_write_begin_int(), which is called to prepare block writes, may fail the BUG_ON check for accesses exceeding the folio/page size, triggering a kernel bug.  This was found to be because the \"checked\" flag of a page/folio was not cleared when it was discarded by nilfs2's own routine, which causes the sanity check of directory entries to be skipped when the directory page/folio is reloaded.  So, fix that.  This was necessary when the use of nilfs2's own page discard routine was applied to more than just metadata files.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50218",
                                "url": "https://ubuntu.com/security/CVE-2024-50218",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow  Syzbot reported a kernel BUG in ocfs2_truncate_inline.  There are two reasons for this: first, the parameter value passed is greater than ocfs2_max_inline_data_with_xattr, second, the start and end parameters of ocfs2_truncate_inline are \"unsigned int\".  So, we need to add a sanity check for byte_start and byte_len right before ocfs2_truncate_inline() in ocfs2_remove_inode_range(), if they are greater than ocfs2_max_inline_data_with_xattr return -EINVAL.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50229",
                                "url": "https://ubuntu.com/security/CVE-2024-50229",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential deadlock with newly created symlinks  Syzbot reported that page_symlink(), called by nilfs_symlink(), triggers memory reclamation involving the filesystem layer, which can result in circular lock dependencies among the reader/writer semaphore nilfs->ns_segctor_sem, s_writers percpu_rwsem (intwrite) and the fs_reclaim pseudo lock.  This is because after commit 21fc61c73c39 (\"don't put symlink bodies in pagecache into highmem\"), the gfp flags of the page cache for symbolic links are overwritten to GFP_KERNEL via inode_nohighmem().  This is not a problem for symlinks read from the backing device, because the __GFP_FS flag is dropped after inode_nohighmem() is called.  However, when a new symlink is created with nilfs_symlink(), the gfp flags remain overwritten to GFP_KERNEL.  Then, memory allocation called from page_symlink() etc.  triggers memory reclamation including the FS layer, which may call nilfs_evict_inode() or nilfs_dirty_inode().  And these can cause a deadlock if they are called while nilfs->ns_segctor_sem is held:  Fix this issue by dropping the __GFP_FS flag from the page cache GFP flags of newly created symlinks in the same way that nilfs_new_inode() and __nilfs_read_inode() do, as a workaround until we adopt nofs allocation scope consistently or improve the locking constraints.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50233",
                                "url": "https://ubuntu.com/security/CVE-2024-50233",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  staging: iio: frequency: ad9832: fix division by zero in ad9832_calc_freqreg()  In the ad9832_write_frequency() function, clk_get_rate() might return 0. This can lead to a division by zero when calling ad9832_calc_freqreg(). The check if (fout > (clk_get_rate(st->mclk) / 2)) does not protect against the case when fout is 0. The ad9832_write_frequency() function is called from ad9832_write(), and fout is derived from a text buffer, which can contain any value.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50234",
                                "url": "https://ubuntu.com/security/CVE-2024-50234",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlegacy: Clear stale interrupts before resuming device  iwl4965 fails upon resume from hibernation on my laptop. The reason seems to be a stale interrupt which isn't being cleared out before interrupts are enabled. We end up with a race beween the resume trying to bring things back up, and the restart work (queued form the interrupt handler) trying to bring things down. Eventually the whole thing blows up.  Fix the problem by clearing out any stale interrupts before interrupts get enabled during resume.  Here's a debug log of the indicent: [   12.042589] ieee80211 phy0: il_isr ISR inta 0x00000080, enabled 0xaa00008b, fh 0x00000000 [   12.042625] ieee80211 phy0: il4965_irq_tasklet inta 0x00000080, enabled 0x00000000, fh 0x00000000 [   12.042651] iwl4965 0000:10:00.0: RF_KILL bit toggled to enable radio. [   12.042653] iwl4965 0000:10:00.0: On demand firmware reload [   12.042690] ieee80211 phy0: il4965_irq_tasklet End inta 0x00000000, enabled 0xaa00008b, fh 0x00000000, flags 0x00000282 [   12.052207] ieee80211 phy0: il4965_mac_start enter [   12.052212] ieee80211 phy0: il_prep_station Add STA to driver ID 31: ff:ff:ff:ff:ff:ff [   12.052244] ieee80211 phy0: il4965_set_hw_ready hardware  ready [   12.052324] ieee80211 phy0: il_apm_init Init card's basic functions [   12.052348] ieee80211 phy0: il_apm_init L1 Enabled; Disabling L0S [   12.055727] ieee80211 phy0: il4965_load_bsm Begin load bsm [   12.056140] ieee80211 phy0: il4965_verify_bsm Begin verify bsm [   12.058642] ieee80211 phy0: il4965_verify_bsm BSM bootstrap uCode image OK [   12.058721] ieee80211 phy0: il4965_load_bsm BSM write complete, poll 1 iterations [   12.058734] ieee80211 phy0: __il4965_up iwl4965 is coming up [   12.058737] ieee80211 phy0: il4965_mac_start Start UP work done. [   12.058757] ieee80211 phy0: __il4965_down iwl4965 is going down [   12.058761] ieee80211 phy0: il_scan_cancel_timeout Scan cancel timeout [   12.058762] ieee80211 phy0: il_do_scan_abort Not performing scan to abort [   12.058765] ieee80211 phy0: il_clear_ucode_stations Clearing ucode stations in driver [   12.058767] ieee80211 phy0: il_clear_ucode_stations No active stations found to be cleared [   12.058819] ieee80211 phy0: _il_apm_stop Stop card, put in low power state [   12.058827] ieee80211 phy0: _il_apm_stop_master stop master [   12.058864] ieee80211 phy0: il4965_clear_free_frames 0 frames on pre-allocated heap on clear. [   12.058869] ieee80211 phy0: Hardware restart was requested [   16.132299] iwl4965 0000:10:00.0: START_ALIVE timeout after 4000ms. [   16.132303] ------------[ cut here ]------------ [   16.132304] Hardware became unavailable upon resume. This could be a software issue prior to suspend or a hardware issue. [   16.132338] WARNING: CPU: 0 PID: 181 at net/mac80211/util.c:1826 ieee80211_reconfig+0x8f/0x14b0 [mac80211] [   16.132390] Modules linked in: ctr ccm sch_fq_codel xt_tcpudp xt_multiport xt_state iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv4 ip_tables x_tables binfmt_misc joydev mousedev btusb btrtl btintel btbcm bluetooth ecdh_generic ecc iTCO_wdt i2c_dev iwl4965 iwlegacy coretemp snd_hda_codec_analog pcspkr psmouse mac80211 snd_hda_codec_generic libarc4 sdhci_pci cqhci sha256_generic sdhci libsha256 firewire_ohci snd_hda_intel snd_intel_dspcfg mmc_core snd_hda_codec snd_hwdep firewire_core led_class iosf_mbi snd_hda_core uhci_hcd lpc_ich crc_itu_t cfg80211 ehci_pci ehci_hcd snd_pcm usbcore mfd_core rfkill snd_timer snd usb_common soundcore video parport_pc parport intel_agp wmi intel_gtt backlight e1000e agpgart evdev [   16.132456] CPU: 0 UID: 0 PID: 181 Comm: kworker/u8:6 Not tainted 6.11.0-cl+ #143 [   16.132460] Hardware name: Hewlett-Packard HP Compaq 6910p/30BE, BIOS 68MCU Ver. F.19 07/06/2010 [   16.132463] Workqueue: async async_run_entry_fn [   16.132469] RIP: 0010:ieee80211_reconfig+0x8f/0x14b0 [mac80211] [   16.132501] Code: da 02 00 0 ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50236",
                                "url": "https://ubuntu.com/security/CVE-2024-50236",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: ath10k: Fix memory leak in management tx  In the current logic, memory is allocated for storing the MSDU context during management packet TX but this memory is not being freed during management TX completion. Similar leaks are seen in the management TX cleanup logic.  Kmemleak reports this problem as below,  unreferenced object 0xffffff80b64ed250 (size 16):   comm \"kworker/u16:7\", pid 148, jiffies 4294687130 (age 714.199s)   hex dump (first 16 bytes):     00 2b d8 d8 80 ff ff ff c4 74 e9 fd 07 00 00 00  .+.......t......   backtrace:     [<ffffffe6e7b245dc>] __kmem_cache_alloc_node+0x1e4/0x2d8     [<ffffffe6e7adde88>] kmalloc_trace+0x48/0x110     [<ffffffe6bbd765fc>] ath10k_wmi_tlv_op_gen_mgmt_tx_send+0xd4/0x1d8 [ath10k_core]     [<ffffffe6bbd3eed4>] ath10k_mgmt_over_wmi_tx_work+0x134/0x298 [ath10k_core]     [<ffffffe6e78d5974>] process_scheduled_works+0x1ac/0x400     [<ffffffe6e78d60b8>] worker_thread+0x208/0x328     [<ffffffe6e78dc890>] kthread+0x100/0x1c0     [<ffffffe6e78166c0>] ret_from_fork+0x10/0x20  Free the memory during completion and cleanup to fix the leak.  Protect the mgmt_pending_tx idr_remove() operation in ath10k_wmi_tlv_op_cleanup_mgmt_tx_send() using ar->data_lock similar to other instances.  Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.2.0-01387-QCAHLSWMTPLZ-1",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50237",
                                "url": "https://ubuntu.com/security/CVE-2024-50237",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower  Avoid potentially crashing in the driver because of uninitialized private data",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50251",
                                "url": "https://ubuntu.com/security/CVE-2024-50251",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nft_payload: sanitize offset and length before calling skb_checksum()  If access to offset + length is larger than the skbuff length, then skb_checksum() triggers BUG_ON().  skb_checksum() internally subtracts the length parameter while iterating over skbuff, BUG_ON(len) at the end of it checks that the expected length to be included in the checksum calculation is fully consumed.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50262",
                                "url": "https://ubuntu.com/security/CVE-2024-50262",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Fix out-of-bounds write in trie_get_next_key()  trie_get_next_key() allocates a node stack with size trie->max_prefixlen, while it writes (trie->max_prefixlen + 1) nodes to the stack when it has full paths from the root to leaves. For example, consider a trie with max_prefixlen is 8, and the nodes with key 0x00/0, 0x00/1, 0x00/2, ... 0x00/8 inserted. Subsequent calls to trie_get_next_key with _key with .prefixlen = 8 make 9 nodes be written on the node stack with size 8.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-53059",
                                "url": "https://ubuntu.com/security/CVE-2024-53059",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlwifi: mvm: Fix response handling in iwl_mvm_send_recovery_cmd()  1. The size of the response packet is not validated. 2. The response buffer is not freed.  Resolve these issues by switching to iwl_mvm_send_cmd_status(), which handles both size validation and frees the buffer.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50142",
                                "url": "https://ubuntu.com/security/CVE-2024-50142",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfrm: validate new SA's prefixlen using SA family when sel.family is unset  This expands the validation introduced in commit 07bf7908950a (\"xfrm: Validate address prefix lengths in the xfrm selector.\")  syzbot created an SA with     usersa.sel.family = AF_UNSPEC     usersa.sel.prefixlen_s = 128     usersa.family = AF_INET  Because of the AF_UNSPEC selector, verify_newsa_info doesn't put limits on prefixlen_{s,d}. But then copy_from_user_state sets x->sel.family to usersa.family (AF_INET). Do the same conversion in verify_newsa_info before validating prefixlen_{s,d}, since that's how prefixlen is going to be used later on.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50116",
                                "url": "https://ubuntu.com/security/CVE-2024-50116",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix kernel bug due to missing clearing of buffer delay flag  Syzbot reported that after nilfs2 reads a corrupted file system image and degrades to read-only, the BUG_ON check for the buffer delay flag in submit_bh_wbc() may fail, causing a kernel bug.  This is because the buffer delay flag is not cleared when clearing the buffer state flags to discard a page/folio or a buffer head. So, fix this.  This became necessary when the use of nilfs2's own page clear routine was expanded.  This state inconsistency does not occur if the buffer is written normally by log writing.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50117",
                                "url": "https://ubuntu.com/security/CVE-2024-50117",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd: Guard against bad data for ATIF ACPI method  If a BIOS provides bad data in response to an ATIF method call this causes a NULL pointer dereference in the caller.  ``` ? show_regs (arch/x86/kernel/dumpstack.c:478 (discriminator 1)) ? __die (arch/x86/kernel/dumpstack.c:423 arch/x86/kernel/dumpstack.c:434) ? page_fault_oops (arch/x86/mm/fault.c:544 (discriminator 2) arch/x86/mm/fault.c:705 (discriminator 2)) ? do_user_addr_fault (arch/x86/mm/fault.c:440 (discriminator 1) arch/x86/mm/fault.c:1232 (discriminator 1)) ? acpi_ut_update_object_reference (drivers/acpi/acpica/utdelete.c:642) ? exc_page_fault (arch/x86/mm/fault.c:1542) ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) ? amdgpu_atif_query_backlight_caps.constprop.0 (drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:387 (discriminator 2)) amdgpu ? amdgpu_atif_query_backlight_caps.constprop.0 (drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:386 (discriminator 1)) amdgpu ```  It has been encountered on at least one system, so guard for it.  (cherry picked from commit c9b7c809b89f24e9372a4e7f02d64c950b07fdee)",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50205",
                                "url": "https://ubuntu.com/security/CVE-2024-50205",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: firewire-lib: Avoid division by zero in apply_constraint_to_size()  The step variable is initialized to zero. It is changed in the loop, but if it's not changed it will remain zero. Add a variable check before the division.  The observed behavior was introduced by commit 826b5de90c0b (\"ALSA: firewire-lib: fix insufficient PCM rule for period/buffer size\"), and it is difficult to show that any of the interval parameters will satisfy the snd_interval_test() condition with data from the amdtp_rate_table[] table.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50127",
                                "url": "https://ubuntu.com/security/CVE-2024-50127",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: sched: fix use-after-free in taprio_change()  In 'taprio_change()', 'admin' pointer may become dangling due to sched switch / removal caused by 'advance_sched()', and critical section protected by 'q->current_entry_lock' is too small to prevent from such a scenario (which causes use-after-free detected by KASAN). Fix this by prefer 'rcu_replace_pointer()' over 'rcu_assign_pointer()' to update 'admin' immediately before an attempt to schedule freeing.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50167",
                                "url": "https://ubuntu.com/security/CVE-2024-50167",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  be2net: fix potential memory leak in be_xmit()  The be_xmit() returns NETDEV_TX_OK without freeing skb in case of be_xmit_enqueue() fails, add dev_kfree_skb_any() to fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50168",
                                "url": "https://ubuntu.com/security/CVE-2024-50168",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sun3_82586: fix potential memory leak in sun3_82586_send_packet()  The sun3_82586_send_packet() returns NETDEV_TX_OK without freeing skb in case of skb->len being too long, add dev_kfree_skb() to fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50131",
                                "url": "https://ubuntu.com/security/CVE-2024-50131",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Consider the NULL character when validating the event length  strlen() returns a string length excluding the null byte. If the string length equals to the maximum buffer length, the buffer will have no space for the NULL terminating character.  This commit checks this condition and returns failure for it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50143",
                                "url": "https://ubuntu.com/security/CVE-2024-50143",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  udf: fix uninit-value use in udf_get_fileshortad  Check for overflow when computing alen in udf_current_aext to mitigate later uninit-value use in udf_get_fileshortad KMSAN bug[1]. After applying the patch reproducer did not trigger any issue[2].  [1] https://syzkaller.appspot.com/bug?extid=8901c4560b7ab5c2f9df [2] https://syzkaller.appspot.com/x/log.txt?x=10242227980000",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50134",
                                "url": "https://ubuntu.com/security/CVE-2024-50134",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/vboxvideo: Replace fake VLA at end of vbva_mouse_pointer_shape with real VLA  Replace the fake VLA at end of the vbva_mouse_pointer_shape shape with a real VLA to fix a \"memcpy: detected field-spanning write error\" warning:  [   13.319813] memcpy: detected field-spanning write (size 16896) of single field \"p->data\" at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 (size 4) [   13.319841] WARNING: CPU: 0 PID: 1105 at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 hgsmi_update_pointer_shape+0x192/0x1c0 [vboxvideo] [   13.320038] Call Trace: [   13.320173]  hgsmi_update_pointer_shape [vboxvideo] [   13.320184]  vbox_cursor_atomic_update [vboxvideo]  Note as mentioned in the added comment it seems the original length calculation for the allocated and send hgsmi buffer is 4 bytes too large. Changing this is not the goal of this patch, so this behavior is kept.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50194",
                                "url": "https://ubuntu.com/security/CVE-2024-50194",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: probes: Fix uprobes for big-endian kernels  The arm64 uprobes code is broken for big-endian kernels as it doesn't convert the in-memory instruction encoding (which is always little-endian) into the kernel's native endianness before analyzing and simulating instructions. This may result in a few distinct problems:  * The kernel may may erroneously reject probing an instruction which can   safely be probed.  * The kernel may erroneously erroneously permit stepping an   instruction out-of-line when that instruction cannot be stepped   out-of-line safely.  * The kernel may erroneously simulate instruction incorrectly dur to   interpretting the byte-swapped encoding.  The endianness mismatch isn't caught by the compiler or sparse because:  * The arch_uprobe::{insn,ixol} fields are encoded as arrays of u8, so   the compiler and sparse have no idea these contain a little-endian   32-bit value. The core uprobes code populates these with a memcpy()   which similarly does not handle endianness.  * While the uprobe_opcode_t type is an alias for __le32, both   arch_uprobe_analyze_insn() and arch_uprobe_skip_sstep() cast from u8[]   to the similarly-named probe_opcode_t, which is an alias for u32.   Hence there is no endianness conversion warning.  Fix this by changing the arch_uprobe::{insn,ixol} fields to __le32 and adding the appropriate __le32_to_cpu() conversions prior to consuming the instruction encoding. The core uprobes copies these fields as opaque ranges of bytes, and so is unaffected by this change.  At the same time, remove MAX_UINSN_BYTES and consistently use AARCH64_INSN_SIZE for clarity.  Tested with the following:  | #include <stdio.h> | #include <stdbool.h> | | #define noinline __attribute__((noinline)) | | static noinline void *adrp_self(void) | { |         void *addr; | |         asm volatile( |         \"       adrp    %x0, adrp_self\\n\" |         \"       add     %x0, %x0, :lo12:adrp_self\\n\" |         : \"=r\" (addr)); | } | | | int main(int argc, char *argv) | { |         void *ptr = adrp_self(); |         bool equal = (ptr == adrp_self); | |         printf(\"adrp_self   => %p\\n\" |                \"adrp_self() => %p\\n\" |                \"%s\\n\", |                adrp_self, ptr, equal ? \"EQUAL\" : \"NOT EQUAL\"); | |         return 0; | }  .... where the adrp_self() function was compiled to:  | 00000000004007e0 <adrp_self>: |   4007e0:       90000000        adrp    x0, 400000 <__ehdr_start> |   4007e4:       911f8000        add     x0, x0, #0x7e0 |   4007e8:       d65f03c0        ret  Before this patch, the ADRP is not recognized, and is assumed to be steppable, resulting in corruption of the result:  | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL | # echo 'p /root/adrp-self:0x007e0' > /sys/kernel/tracing/uprobe_events | # echo 1 > /sys/kernel/tracing/events/uprobes/enable | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0xffffffffff7e0 | NOT EQUAL  After this patch, the ADRP is correctly recognized and simulated:  | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL | # | # echo 'p /root/adrp-self:0x007e0' > /sys/kernel/tracing/uprobe_events | # echo 1 > /sys/kernel/tracing/events/uprobes/enable | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50148",
                                "url": "https://ubuntu.com/security/CVE-2024-50148",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: bnep: fix wild-memory-access in proto_unregister  There's issue as follows:   KASAN: maybe wild-memory-access in range [0xdead...108-0xdead...10f]   CPU: 3 UID: 0 PID: 2805 Comm: rmmod Tainted: G        W   RIP: 0010:proto_unregister+0xee/0x400   Call Trace:    <TASK>    __do_sys_delete_module+0x318/0x580    do_syscall_64+0xc1/0x1d0    entry_SYSCALL_64_after_hwframe+0x77/0x7f  As bnep_init() ignore bnep_sock_init()'s return value, and bnep_sock_init() will cleanup all resource. Then when remove bnep module will call bnep_sock_cleanup() to cleanup sock's resource. To solve above issue just return bnep_sock_init()'s return value in bnep_exit().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50150",
                                "url": "https://ubuntu.com/security/CVE-2024-50150",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: altmode should keep reference to parent  The altmode device release refers to its parent device, but without keeping a reference to it.  When registering the altmode, get a reference to the parent and put it in the release function.  Before this fix, when using CONFIG_DEBUG_KOBJECT_RELEASE, we see issues like this:  [   43.572860] kobject: 'port0.0' (ffff8880057ba008): kobject_release, parent 0000000000000000 (delayed 3000) [   43.573532] kobject: 'port0.1' (ffff8880057bd008): kobject_release, parent 0000000000000000 (delayed 1000) [   43.574407] kobject: 'port0' (ffff8880057b9008): kobject_release, parent 0000000000000000 (delayed 3000) [   43.575059] kobject: 'port1.0' (ffff8880057ca008): kobject_release, parent 0000000000000000 (delayed 4000) [   43.575908] kobject: 'port1.1' (ffff8880057c9008): kobject_release, parent 0000000000000000 (delayed 4000) [   43.576908] kobject: 'typec' (ffff8880062dbc00): kobject_release, parent 0000000000000000 (delayed 4000) [   43.577769] kobject: 'port1' (ffff8880057bf008): kobject_release, parent 0000000000000000 (delayed 3000) [   46.612867] ================================================================== [   46.613402] BUG: KASAN: slab-use-after-free in typec_altmode_release+0x38/0x129 [   46.614003] Read of size 8 at addr ffff8880057b9118 by task kworker/2:1/48 [   46.614538] [   46.614668] CPU: 2 UID: 0 PID: 48 Comm: kworker/2:1 Not tainted 6.12.0-rc1-00138-gedbae730ad31 #535 [   46.615391] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014 [   46.616042] Workqueue: events kobject_delayed_cleanup [   46.616446] Call Trace: [   46.616648]  <TASK> [   46.616820]  dump_stack_lvl+0x5b/0x7c [   46.617112]  ? typec_altmode_release+0x38/0x129 [   46.617470]  print_report+0x14c/0x49e [   46.617769]  ? rcu_read_unlock_sched+0x56/0x69 [   46.618117]  ? __virt_addr_valid+0x19a/0x1ab [   46.618456]  ? kmem_cache_debug_flags+0xc/0x1d [   46.618807]  ? typec_altmode_release+0x38/0x129 [   46.619161]  kasan_report+0x8d/0xb4 [   46.619447]  ? typec_altmode_release+0x38/0x129 [   46.619809]  ? process_scheduled_works+0x3cb/0x85f [   46.620185]  typec_altmode_release+0x38/0x129 [   46.620537]  ? process_scheduled_works+0x3cb/0x85f [   46.620907]  device_release+0xaf/0xf2 [   46.621206]  kobject_delayed_cleanup+0x13b/0x17a [   46.621584]  process_scheduled_works+0x4f6/0x85f [   46.621955]  ? __pfx_process_scheduled_works+0x10/0x10 [   46.622353]  ? hlock_class+0x31/0x9a [   46.622647]  ? lock_acquired+0x361/0x3c3 [   46.622956]  ? move_linked_works+0x46/0x7d [   46.623277]  worker_thread+0x1ce/0x291 [   46.623582]  ? __kthread_parkme+0xc8/0xdf [   46.623900]  ? __pfx_worker_thread+0x10/0x10 [   46.624236]  kthread+0x17e/0x190 [   46.624501]  ? kthread+0xfb/0x190 [   46.624756]  ? __pfx_kthread+0x10/0x10 [   46.625015]  ret_from_fork+0x20/0x40 [   46.625268]  ? __pfx_kthread+0x10/0x10 [   46.625532]  ret_from_fork_asm+0x1a/0x30 [   46.625805]  </TASK> [   46.625953] [   46.626056] Allocated by task 678: [   46.626287]  kasan_save_stack+0x24/0x44 [   46.626555]  kasan_save_track+0x14/0x2d [   46.626811]  __kasan_kmalloc+0x3f/0x4d [   46.627049]  __kmalloc_noprof+0x1bf/0x1f0 [   46.627362]  typec_register_port+0x23/0x491 [   46.627698]  cros_typec_probe+0x634/0xbb6 [   46.628026]  platform_probe+0x47/0x8c [   46.628311]  really_probe+0x20a/0x47d [   46.628605]  device_driver_attach+0x39/0x72 [   46.628940]  bind_store+0x87/0xd7 [   46.629213]  kernfs_fop_write_iter+0x1aa/0x218 [   46.629574]  vfs_write+0x1d6/0x29b [   46.629856]  ksys_write+0xcd/0x13b [   46.630128]  do_syscall_64+0xd4/0x139 [   46.630420]  entry_SYSCALL_64_after_hwframe+0x76/0x7e [   46.630820] [   46.630946] Freed by task 48: [   46.631182]  kasan_save_stack+0x24/0x44 [   46.631493]  kasan_save_track+0x14/0x2d [   46.631799]  kasan_save_free_info+0x3f/0x4d [   46.632144]  __kasan_slab_free+0x37/0x45 [   46.632474] ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50151",
                                "url": "https://ubuntu.com/security/CVE-2024-50151",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smb: client: fix OOBs when building SMB2_IOCTL request  When using encryption, either enforced by the server or when using 'seal' mount option, the client will squash all compound request buffers down for encryption into a single iov in smb2_set_next_command().  SMB2_ioctl_init() allocates a small buffer (448 bytes) to hold the SMB2_IOCTL request in the first iov, and if the user passes an input buffer that is greater than 328 bytes, smb2_set_next_command() will end up writing off the end of @rqst->iov[0].iov_base as shown below:    mount.cifs //srv/share /mnt -o ...,seal   ln -s $(perl -e \"print('a')for 1..1024\") /mnt/link    BUG: KASAN: slab-out-of-bounds in   smb2_set_next_command.cold+0x1d6/0x24c [cifs]   Write of size 4116 at addr ffff8881148fcab8 by task ln/859    CPU: 1 UID: 0 PID: 859 Comm: ln Not tainted 6.12.0-rc3 #1   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS   1.16.3-2.fc40 04/01/2014   Call Trace:    <TASK>    dump_stack_lvl+0x5d/0x80    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    print_report+0x156/0x4d9    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    ? __virt_addr_valid+0x145/0x310    ? __phys_addr+0x46/0x90    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    kasan_report+0xda/0x110    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    kasan_check_range+0x10f/0x1f0    __asan_memcpy+0x3c/0x60    smb2_set_next_command.cold+0x1d6/0x24c [cifs]    smb2_compound_op+0x238c/0x3840 [cifs]    ? kasan_save_track+0x14/0x30    ? kasan_save_free_info+0x3b/0x70    ? vfs_symlink+0x1a1/0x2c0    ? do_symlinkat+0x108/0x1c0    ? __pfx_smb2_compound_op+0x10/0x10 [cifs]    ? kmem_cache_free+0x118/0x3e0    ? cifs_get_writable_path+0xeb/0x1a0 [cifs]    smb2_get_reparse_inode+0x423/0x540 [cifs]    ? __pfx_smb2_get_reparse_inode+0x10/0x10 [cifs]    ? rcu_is_watching+0x20/0x50    ? __kmalloc_noprof+0x37c/0x480    ? smb2_create_reparse_symlink+0x257/0x490 [cifs]    ? smb2_create_reparse_symlink+0x38f/0x490 [cifs]    smb2_create_reparse_symlink+0x38f/0x490 [cifs]    ? __pfx_smb2_create_reparse_symlink+0x10/0x10 [cifs]    ? find_held_lock+0x8a/0xa0    ? hlock_class+0x32/0xb0    ? __build_path_from_dentry_optional_prefix+0x19d/0x2e0 [cifs]    cifs_symlink+0x24f/0x960 [cifs]    ? __pfx_make_vfsuid+0x10/0x10    ? __pfx_cifs_symlink+0x10/0x10 [cifs]    ? make_vfsgid+0x6b/0xc0    ? generic_permission+0x96/0x2d0    vfs_symlink+0x1a1/0x2c0    do_symlinkat+0x108/0x1c0    ? __pfx_do_symlinkat+0x10/0x10    ? strncpy_from_user+0xaa/0x160    __x64_sys_symlinkat+0xb9/0xf0    do_syscall_64+0xbb/0x1d0    entry_SYSCALL_64_after_hwframe+0x77/0x7f   RIP: 0033:0x7f08d75c13bb",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50171",
                                "url": "https://ubuntu.com/security/CVE-2024-50171",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: systemport: fix potential memory leak in bcm_sysport_xmit()  The bcm_sysport_xmit() returns NETDEV_TX_OK without freeing skb in case of dma_map_single() fails, add dev_kfree_skb() to fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50202",
                                "url": "https://ubuntu.com/security/CVE-2024-50202",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: propagate directory read errors from nilfs_find_entry()  Syzbot reported that a task hang occurs in vcs_open() during a fuzzing test for nilfs2.  The root cause of this problem is that in nilfs_find_entry(), which searches for directory entries, ignores errors when loading a directory page/folio via nilfs_get_folio() fails.  If the filesystem images is corrupted, and the i_size of the directory inode is large, and the directory page/folio is successfully read but fails the sanity check, for example when it is zero-filled, nilfs_check_folio() may continue to spit out error messages in bursts.  Fix this issue by propagating the error to the callers when loading a page/folio fails in nilfs_find_entry().  The current interface of nilfs_find_entry() and its callers is outdated and cannot propagate error codes such as -EIO and -ENOMEM returned via nilfs_find_entry(), so fix it together.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50074",
                                "url": "https://ubuntu.com/security/CVE-2024-50074",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parport: Proper fix for array out-of-bounds access  The recent fix for array out-of-bounds accesses replaced sprintf() calls blindly with snprintf().  However, since snprintf() returns the would-be-printed size, not the actually output size, the length calculation can still go over the given limit.  Use scnprintf() instead of snprintf(), which returns the actually output letters, for addressing the potential out-of-bounds access properly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-29 01:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50082",
                                "url": "https://ubuntu.com/security/CVE-2024-50082",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  blk-rq-qos: fix crash on rq_qos_wait vs. rq_qos_wake_function race  We're seeing crashes from rq_qos_wake_function that look like this:    BUG: unable to handle page fault for address: ffffafe180a40084   #PF: supervisor write access in kernel mode   #PF: error_code(0x0002) - not-present page   PGD 100000067 P4D 100000067 PUD 10027c067 PMD 10115d067 PTE 0   Oops: Oops: 0002 [#1] PREEMPT SMP PTI   CPU: 17 UID: 0 PID: 0 Comm: swapper/17 Not tainted 6.12.0-rc3-00013-geca631b8fe80 #11   Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014   RIP: 0010:_raw_spin_lock_irqsave+0x1d/0x40   Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 41 54 9c 41 5c fa 65 ff 05 62 97 30 4c 31 c0 ba 01 00 00 00 <f0> 0f b1 17 75 0a 4c 89 e0 41 5c c3 cc cc cc cc 89 c6 e8 2c 0b 00   RSP: 0018:ffffafe180580ca0 EFLAGS: 00010046   RAX: 0000000000000000 RBX: ffffafe180a3f7a8 RCX: 0000000000000011   RDX: 0000000000000001 RSI: 0000000000000003 RDI: ffffafe180a40084   RBP: 0000000000000000 R08: 00000000001e7240 R09: 0000000000000011   R10: 0000000000000028 R11: 0000000000000888 R12: 0000000000000002   R13: ffffafe180a40084 R14: 0000000000000000 R15: 0000000000000003   FS:  0000000000000000(0000) GS:ffff9aaf1f280000(0000) knlGS:0000000000000000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: ffffafe180a40084 CR3: 000000010e428002 CR4: 0000000000770ef0   DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000   DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400   PKRU: 55555554   Call Trace:    <IRQ>    try_to_wake_up+0x5a/0x6a0    rq_qos_wake_function+0x71/0x80    __wake_up_common+0x75/0xa0    __wake_up+0x36/0x60    scale_up.part.0+0x50/0x110    wb_timer_fn+0x227/0x450    ...  So rq_qos_wake_function() calls wake_up_process(data->task), which calls try_to_wake_up(), which faults in raw_spin_lock_irqsave(&p->pi_lock).  p comes from data->task, and data comes from the waitqueue entry, which is stored on the waiter's stack in rq_qos_wait(). Analyzing the core dump with drgn, I found that the waiter had already woken up and moved on to a completely unrelated code path, clobbering what was previously data->task. Meanwhile, the waker was passing the clobbered garbage in data->task to wake_up_process(), leading to the crash.  What's happening is that in between rq_qos_wake_function() deleting the waitqueue entry and calling wake_up_process(), rq_qos_wait() is finding that it already got a token and returning. The race looks like this:  rq_qos_wait()                           rq_qos_wake_function() ============================================================== prepare_to_wait_exclusive()                                         data->got_token = true;                                         list_del_init(&curr->entry); if (data.got_token)         break; finish_wait(&rqw->wait, &data.wq);   ^- returns immediately because      list_empty_careful(&wq_entry->entry)      is true ... return, go do something else ...                                         wake_up_process(data->task)                                           (NO LONGER VALID!)-^  Normally, finish_wait() is supposed to synchronize against the waker. But, as noted above, it is returning immediately because the waitqueue entry has already been removed from the waitqueue.  The bug is that rq_qos_wake_function() is accessing the waitqueue entry AFTER deleting it. Note that autoremove_wake_function() wakes the waiter and THEN deletes the waitqueue entry, which is the proper order.  Fix it by swapping the order. We also need to use list_del_init_careful() to match the list_empty_careful() in finish_wait().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-29 01:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-40953",
                                "url": "https://ubuntu.com/security/CVE-2024-40953",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()  Use {READ,WRITE}_ONCE() to access kvm->last_boosted_vcpu to ensure the loads and stores are atomic.  In the extremely unlikely scenario the compiler tears the stores, it's theoretically possible for KVM to attempt to get a vCPU using an out-of-bounds index, e.g. if the write is split into multiple 8-bit stores, and is paired with a 32-bit load on a VM with 257 vCPUs:    CPU0                              CPU1   last_boosted_vcpu = 0xff;                                      (last_boosted_vcpu = 0x100)                                     last_boosted_vcpu[15:8] = 0x01;   i = (last_boosted_vcpu = 0x1ff)                                     last_boosted_vcpu[7:0] = 0x00;    vcpu = kvm->vcpu_array[0x1ff];  As detected by KCSAN:    BUG: KCSAN: data-race in kvm_vcpu_on_spin [kvm] / kvm_vcpu_on_spin [kvm]    write to 0xffffc90025a92344 of 4 bytes by task 4340 on cpu 16:   kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4112) kvm   handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel   vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? \t\t arch/x86/kvm/vmx/vmx.c:6606) kvm_intel   vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm   kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm   kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm   __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)   __x64_sys_ioctl (fs/ioctl.c:890)   x64_sys_call (arch/x86/entry/syscall_64.c:33)   do_syscall_64 (arch/x86/entry/common.c:?)   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)    read to 0xffffc90025a92344 of 4 bytes by task 4342 on cpu 4:   kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4069) kvm   handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel   vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? \t\t\tarch/x86/kvm/vmx/vmx.c:6606) kvm_intel   vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm   kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm   kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm   __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)   __x64_sys_ioctl (fs/ioctl.c:890)   x64_sys_call (arch/x86/entry/syscall_64.c:33)   do_syscall_64 (arch/x86/entry/common.c:?)   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)    value changed: 0x00000012 -> 0x00000000",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-12 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50199",
                                "url": "https://ubuntu.com/security/CVE-2024-50199",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mm/swapfile: skip HugeTLB pages for unuse_vma  I got a bad pud error and lost a 1GB HugeTLB when calling swapoff.  The problem can be reproduced by the following steps:   1. Allocate an anonymous 1GB HugeTLB and some other anonymous memory.  2. Swapout the above anonymous memory.  3. run swapoff and we will get a bad pud error in kernel message:    mm/pgtable-generic.c:42: bad pud 00000000743d215d(84000001400000e7)  We can tell that pud_clear_bad is called by pud_none_or_clear_bad in unuse_pud_range() by ftrace.  And therefore the HugeTLB pages will never be freed because we lost it from page table.  We can skip HugeTLB pages for unuse_vma to fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50099",
                                "url": "https://ubuntu.com/security/CVE-2024-50099",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: probes: Remove broken LDR (literal) uprobe support  The simulate_ldr_literal() and simulate_ldrsw_literal() functions are unsafe to use for uprobes. Both functions were originally written for use with kprobes, and access memory with plain C accesses. When uprobes was added, these were reused unmodified even though they cannot safely access user memory.  There are three key problems:  1) The plain C accesses do not have corresponding extable entries, and    thus if they encounter a fault the kernel will treat these as    unintentional accesses to user memory, resulting in a BUG() which    will kill the kernel thread, and likely lead to further issues (e.g.    lockup or panic()).  2) The plain C accesses are subject to HW PAN and SW PAN, and so when    either is in use, any attempt to simulate an access to user memory    will fault. Thus neither simulate_ldr_literal() nor    simulate_ldrsw_literal() can do anything useful when simulating a    user instruction on any system with HW PAN or SW PAN.  3) The plain C accesses are privileged, as they run in kernel context,    and in practice can access a small range of kernel virtual addresses.    The instructions they simulate have a range of +/-1MiB, and since the    simulated instructions must itself be a user instructions in the    TTBR0 address range, these can address the final 1MiB of the TTBR1    acddress range by wrapping downwards from an address in the first    1MiB of the TTBR0 address range.     In contemporary kernels the last 8MiB of TTBR1 address range is    reserved, and accesses to this will always fault, meaning this is no    worse than (1).     Historically, it was theoretically possible for the linear map or    vmemmap to spill into the final 8MiB of the TTBR1 address range, but    in practice this is extremely unlikely to occur as this would    require either:     * Having enough physical memory to fill the entire linear map all the      way to the final 1MiB of the TTBR1 address range.     * Getting unlucky with KASLR randomization of the linear map such      that the populated region happens to overlap with the last 1MiB of      the TTBR address range.     ... and in either case if we were to spill into the final page there    would be larger problems as the final page would alias with error    pointers.  Practically speaking, (1) and (2) are the big issues. Given there have been no reports of problems since the broken code was introduced, it appears that no-one is relying on probing these instructions with uprobes.  Avoid these issues by not allowing uprobes on LDR (literal) and LDRSW (literal), limiting the use of simulate_ldr_literal() and simulate_ldrsw_literal() to kprobes. Attempts to place uprobes on LDR (literal) and LDRSW (literal) will be rejected as arm_probe_decode_insn() will return INSN_REJECTED. In future we can consider introducing working uprobes support for these instructions, but this will require more significant work.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50195",
                                "url": "https://ubuntu.com/security/CVE-2024-50195",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  posix-clock: Fix missing timespec64 check in pc_clock_settime()  As Andrew pointed out, it will make sense that the PTP core checked timespec64 struct's tv_sec and tv_nsec range before calling ptp->info->settime64().  As the man manual of clock_settime() said, if tp.tv_sec is negative or tp.tv_nsec is outside the range [0..999,999,999], it should return EINVAL, which include dynamic clocks which handles PTP clock, and the condition is consistent with timespec64_valid(). As Thomas suggested, timespec64_valid() only check the timespec is valid, but not ensure that the time is in a valid range, so check it ahead using timespec64_valid_strict() in pc_clock_settime() and return -EINVAL if not valid.  There are some drivers that use tp->tv_sec and tp->tv_nsec directly to write registers without validity checks and assume that the higher layer has checked it, which is dangerous and will benefit from this, such as hclge_ptp_settime(), igb_ptp_settime_i210(), _rcar_gen4_ptp_settime(), and some drivers can remove the checks of itself.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50096",
                                "url": "https://ubuntu.com/security/CVE-2024-50096",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nouveau/dmem: Fix vulnerability in migrate_to_ram upon copy error  The `nouveau_dmem_copy_one` function ensures that the copy push command is sent to the device firmware but does not track whether it was executed successfully.  In the case of a copy error (e.g., firmware or hardware failure), the copy push command will be sent via the firmware channel, and `nouveau_dmem_copy_one` will likely report success, leading to the `migrate_to_ram` function returning a dirty HIGH_USER page to the user.  This can result in a security vulnerability, as a HIGH_USER page that may contain sensitive or corrupted data could be returned to the user.  To prevent this vulnerability, we allocate a zero page. Thus, in case of an error, a non-dirty (zero) page will be returned to the user.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 17:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50024",
                                "url": "https://ubuntu.com/security/CVE-2024-50024",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: Fix an unsafe loop on the list  The kernel may crash when deleting a genetlink family if there are still listeners for that family:  Oops: Kernel access of bad area, sig: 11 [#1]   ...   NIP [c000000000c080bc] netlink_update_socket_mc+0x3c/0xc0   LR [c000000000c0f764] __netlink_clear_multicast_users+0x74/0xc0   Call Trace: __netlink_clear_multicast_users+0x74/0xc0 genl_unregister_family+0xd4/0x2d0  Change the unsafe loop on the list to a safe one, because inside the loop there is an element removal from this list.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49878",
                                "url": "https://ubuntu.com/security/CVE-2024-49878",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  resource: fix region_intersects() vs add_memory_driver_managed()  On a system with CXL memory, the resource tree (/proc/iomem) related to CXL memory may look like something as follows.  490000000-50fffffff : CXL Window 0   490000000-50fffffff : region0     490000000-50fffffff : dax0.0       490000000-50fffffff : System RAM (kmem)  Because drivers/dax/kmem.c calls add_memory_driver_managed() during onlining CXL memory, which makes \"System RAM (kmem)\" a descendant of \"CXL Window X\".  This confuses region_intersects(), which expects all \"System RAM\" resources to be at the top level of iomem_resource.  This can lead to bugs.  For example, when the following command line is executed to write some memory in CXL memory range via /dev/mem,   $ dd if=data of=/dev/mem bs=$((1 << 10)) seek=$((0x490000000 >> 10)) count=1  dd: error writing '/dev/mem': Bad address  1+0 records in  0+0 records out  0 bytes copied, 0.0283507 s, 0.0 kB/s  the command fails as expected.  However, the error code is wrong.  It should be \"Operation not permitted\" instead of \"Bad address\".  More seriously, the /dev/mem permission checking in devmem_is_allowed() passes incorrectly.  Although the accessing is prevented later because ioremap() isn't allowed to map system RAM, it is a potential security issue.  During command executing, the following warning is reported in the kernel log for calling ioremap() on system RAM.   ioremap on RAM at 0x0000000490000000 - 0x0000000490000fff  WARNING: CPU: 2 PID: 416 at arch/x86/mm/ioremap.c:216 __ioremap_caller.constprop.0+0x131/0x35d  Call Trace:   memremap+0xcb/0x184   xlate_dev_mem_ptr+0x25/0x2f   write_mem+0x94/0xfb   vfs_write+0x128/0x26d   ksys_write+0xac/0xfe   do_syscall_64+0x9a/0xfd   entry_SYSCALL_64_after_hwframe+0x4b/0x53  The details of command execution process are as follows.  In the above resource tree, \"System RAM\" is a descendant of \"CXL Window 0\" instead of a top level resource.  So, region_intersects() will report no System RAM resources in the CXL memory region incorrectly, because it only checks the top level resources.  Consequently, devmem_is_allowed() will return 1 (allow access via /dev/mem) for CXL memory region incorrectly. Fortunately, ioremap() doesn't allow to map System RAM and reject the access.  So, region_intersects() needs to be fixed to work correctly with the resource tree with \"System RAM\" not at top level as above.  To fix it, if we found a unmatched resource in the top level, we will continue to search matched resources in its descendant resources.  So, we will not miss any matched resources in resource tree anymore.  In the new implementation, an example resource tree  |------------- \"CXL Window 0\" ------------| |-- \"System RAM\" --|  will behave similar as the following fake resource tree for region_intersects(, IORESOURCE_SYSTEM_RAM, ),  |-- \"System RAM\" --||-- \"CXL Window 0a\" --|  Where \"CXL Window 0a\" is part of the original \"CXL Window 0\" that isn't covered by \"System RAM\".",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50033",
                                "url": "https://ubuntu.com/security/CVE-2024-50033",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  slip: make slhc_remember() more robust against malicious packets  syzbot found that slhc_remember() was missing checks against malicious packets [1].  slhc_remember() only checked the size of the packet was at least 20, which is not good enough.  We need to make sure the packet includes the IPv4 and TCP header that are supposed to be carried.  Add iph and th pointers to make the code more readable.  [1]  BUG: KMSAN: uninit-value in slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666   slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666   ppp_receive_nonmp_frame+0xe45/0x35e0 drivers/net/ppp/ppp_generic.c:2455   ppp_receive_frame drivers/net/ppp/ppp_generic.c:2372 [inline]   ppp_do_recv+0x65f/0x40d0 drivers/net/ppp/ppp_generic.c:2212   ppp_input+0x7dc/0xe60 drivers/net/ppp/ppp_generic.c:2327   pppoe_rcv_core+0x1d3/0x720 drivers/net/ppp/pppoe.c:379   sk_backlog_rcv+0x13b/0x420 include/net/sock.h:1113   __release_sock+0x1da/0x330 net/core/sock.c:3072   release_sock+0x6b/0x250 net/core/sock.c:3626   pppoe_sendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was created at:   slab_post_alloc_hook mm/slub.c:4091 [inline]   slab_alloc_node mm/slub.c:4134 [inline]   kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4186   kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:587   __alloc_skb+0x363/0x7b0 net/core/skbuff.c:678   alloc_skb include/linux/skbuff.h:1322 [inline]   sock_wmalloc+0xfe/0x1a0 net/core/sock.c:2732   pppoe_sendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  CPU: 0 UID: 0 PID: 5460 Comm: syz.2.33 Not tainted 6.12.0-rc2-syzkaller-00006-g87d6aab2389e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50035",
                                "url": "https://ubuntu.com/security/CVE-2024-50035",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ppp: fix ppp_async_encode() illegal access  syzbot reported an issue in ppp_async_encode() [1]  In this case, pppoe_sendmsg() is called with a zero size. Then ppp_async_encode() is called with an empty skb.  BUG: KMSAN: uninit-value in ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline]  BUG: KMSAN: uninit-value in ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675   ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline]   ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675   ppp_async_send+0x130/0x1b0 drivers/net/ppp/ppp_async.c:634   ppp_channel_bridge_input drivers/net/ppp/ppp_generic.c:2280 [inline]   ppp_input+0x1f1/0xe60 drivers/net/ppp/ppp_generic.c:2304   pppoe_rcv_core+0x1d3/0x720 drivers/net/ppp/pppoe.c:379   sk_backlog_rcv+0x13b/0x420 include/net/sock.h:1113   __release_sock+0x1da/0x330 net/core/sock.c:3072   release_sock+0x6b/0x250 net/core/sock.c:3626   pppoe_sendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was created at:   slab_post_alloc_hook mm/slub.c:4092 [inline]   slab_alloc_node mm/slub.c:4135 [inline]   kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4187   kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:587   __alloc_skb+0x363/0x7b0 net/core/skbuff.c:678   alloc_skb include/linux/skbuff.h:1322 [inline]   sock_wmalloc+0xfe/0x1a0 net/core/sock.c:2732   pppoe_sendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  CPU: 1 UID: 0 PID: 5411 Comm: syz.1.14 Not tainted 6.12.0-rc1-syzkaller-00165-g360c1f1f24c6 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50039",
                                "url": "https://ubuntu.com/security/CVE-2024-50039",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: accept TCA_STAB only for root qdisc  Most qdiscs maintain their backlog using qdisc_pkt_len(skb) on the assumption it is invariant between the enqueue() and dequeue() handlers.  Unfortunately syzbot can crash a host rather easily using a TBF + SFQ combination, with an STAB on SFQ [1]  We can't support TCA_STAB on arbitrary level, this would require to maintain per-qdisc storage.  [1] [   88.796496] BUG: kernel NULL pointer dereference, address: 0000000000000000 [   88.798611] #PF: supervisor read access in kernel mode [   88.799014] #PF: error_code(0x0000) - not-present page [   88.799506] PGD 0 P4D 0 [   88.799829] Oops: Oops: 0000 [#1] SMP NOPTI [   88.800569] CPU: 14 UID: 0 PID: 2053 Comm: b371744477 Not tainted 6.12.0-rc1-virtme #1117 [   88.801107] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [   88.801779] RIP: 0010:sfq_dequeue (net/sched/sch_sfq.c:272 net/sched/sch_sfq.c:499) sch_sfq [ 88.802544] Code: 0f b7 50 12 48 8d 04 d5 00 00 00 00 48 89 d6 48 29 d0 48 8b 91 c0 01 00 00 48 c1 e0 03 48 01 c2 66 83 7a 1a 00 7e c0 48 8b 3a <4c> 8b 07 4c 89 02 49 89 50 08 48 c7 47 08 00 00 00 00 48 c7 07 00 All code ========    0:\t0f b7 50 12          \tmovzwl 0x12(%rax),%edx    4:\t48 8d 04 d5 00 00 00 \tlea    0x0(,%rdx,8),%rax    b:\t00    c:\t48 89 d6             \tmov    %rdx,%rsi    f:\t48 29 d0             \tsub    %rdx,%rax   12:\t48 8b 91 c0 01 00 00 \tmov    0x1c0(%rcx),%rdx   19:\t48 c1 e0 03          \tshl    $0x3,%rax   1d:\t48 01 c2             \tadd    %rax,%rdx   20:\t66 83 7a 1a 00       \tcmpw   $0x0,0x1a(%rdx)   25:\t7e c0                \tjle    0xffffffffffffffe7   27:\t48 8b 3a             \tmov    (%rdx),%rdi   2a:*\t4c 8b 07             \tmov    (%rdi),%r8\t\t<-- trapping instruction   2d:\t4c 89 02             \tmov    %r8,(%rdx)   30:\t49 89 50 08          \tmov    %rdx,0x8(%r8)   34:\t48 c7 47 08 00 00 00 \tmovq   $0x0,0x8(%rdi)   3b:\t00   3c:\t48                   \trex.W   3d:\tc7                   \t.byte 0xc7   3e:\t07                   \t(bad) \t...  Code starting with the faulting instruction ===========================================    0:\t4c 8b 07             \tmov    (%rdi),%r8    3:\t4c 89 02             \tmov    %r8,(%rdx)    6:\t49 89 50 08          \tmov    %rdx,0x8(%r8)    a:\t48 c7 47 08 00 00 00 \tmovq   $0x0,0x8(%rdi)   11:\t00   12:\t48                   \trex.W   13:\tc7                   \t.byte 0xc7   14:\t07                   \t(bad) \t... [   88.803721] RSP: 0018:ffff9a1f892b7d58 EFLAGS: 00000206 [   88.804032] RAX: 0000000000000000 RBX: ffff9a1f8420c800 RCX: ffff9a1f8420c800 [   88.804560] RDX: ffff9a1f81bc1440 RSI: 0000000000000000 RDI: 0000000000000000 [   88.805056] RBP: ffffffffc04bb0e0 R08: 0000000000000001 R09: 00000000ff7f9a1f [   88.805473] R10: 000000000001001b R11: 0000000000009a1f R12: 0000000000000140 [   88.806194] R13: 0000000000000001 R14: ffff9a1f886df400 R15: ffff9a1f886df4ac [   88.806734] FS:  00007f445601a740(0000) GS:ffff9a2e7fd80000(0000) knlGS:0000000000000000 [   88.807225] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [   88.807672] CR2: 0000000000000000 CR3: 000000050cc46000 CR4: 00000000000006f0 [   88.808165] Call Trace: [   88.808459]  <TASK> [   88.808710] ? __die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434) [   88.809261] ? page_fault_oops (arch/x86/mm/fault.c:715) [   88.809561] ? exc_page_fault (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:87 ./arch/x86/include/asm/irqflags.h:147 arch/x86/mm/fault.c:1489 arch/x86/mm/fault.c:1539) [   88.809806] ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) [   88.810074] ? sfq_dequeue (net/sched/sch_sfq.c:272 net/sched/sch_sfq.c:499) sch_sfq [   88.810411] sfq_reset (net/sched/sch_sfq.c:525) sch_sfq [   88.810671] qdisc_reset (./include/linux/skbuff.h:2135 ./include/linux/skbuff.h:2441 ./include/linux/skbuff.h:3304 ./include/linux/skbuff.h:3310 net/sched/sch_g ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50040",
                                "url": "https://ubuntu.com/security/CVE-2024-50040",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  igb: Do not bring the device up after non-fatal error  Commit 004d25060c78 (\"igb: Fix igb_down hung on surprise removal\") changed igb_io_error_detected() to ignore non-fatal pcie errors in order to avoid hung task that can happen when igb_down() is called multiple times. This caused an issue when processing transient non-fatal errors. igb_io_resume(), which is called after igb_io_error_detected(), assumes that device is brought down by igb_io_error_detected() if the interface is up. This resulted in panic with stacktrace below.  [ T3256] igb 0000:09:00.0 haeth0: igb: haeth0 NIC Link is Down [  T292] pcieport 0000:00:1c.5: AER: Uncorrected (Non-Fatal) error received: 0000:09:00.0 [  T292] igb 0000:09:00.0: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Requester ID) [  T292] igb 0000:09:00.0:   device [8086:1537] error status/mask=00004000/00000000 [  T292] igb 0000:09:00.0:    [14] CmpltTO [  200.105524,009][  T292] igb 0000:09:00.0: AER:   TLP Header: 00000000 00000000 00000000 00000000 [  T292] pcieport 0000:00:1c.5: AER: broadcast error_detected message [  T292] igb 0000:09:00.0: Non-correctable non-fatal error reported. [  T292] pcieport 0000:00:1c.5: AER: broadcast mmio_enabled message [  T292] pcieport 0000:00:1c.5: AER: broadcast resume message [  T292] ------------[ cut here ]------------ [  T292] kernel BUG at net/core/dev.c:6539! [  T292] invalid opcode: 0000 [#1] PREEMPT SMP [  T292] RIP: 0010:napi_enable+0x37/0x40 [  T292] Call Trace: [  T292]  <TASK> [  T292]  ? die+0x33/0x90 [  T292]  ? do_trap+0xdc/0x110 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? do_error_trap+0x70/0xb0 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? exc_invalid_op+0x4e/0x70 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? asm_exc_invalid_op+0x16/0x20 [  T292]  ? napi_enable+0x37/0x40 [  T292]  igb_up+0x41/0x150 [  T292]  igb_io_resume+0x25/0x70 [  T292]  report_resume+0x54/0x70 [  T292]  ? report_frozen_detected+0x20/0x20 [  T292]  pci_walk_bus+0x6c/0x90 [  T292]  ? aer_print_port_info+0xa0/0xa0 [  T292]  pcie_do_recovery+0x22f/0x380 [  T292]  aer_process_err_devices+0x110/0x160 [  T292]  aer_isr+0x1c1/0x1e0 [  T292]  ? disable_irq_nosync+0x10/0x10 [  T292]  irq_thread_fn+0x1a/0x60 [  T292]  irq_thread+0xe3/0x1a0 [  T292]  ? irq_set_affinity_notifier+0x120/0x120 [  T292]  ? irq_affinity_notify+0x100/0x100 [  T292]  kthread+0xe2/0x110 [  T292]  ? kthread_complete_and_exit+0x20/0x20 [  T292]  ret_from_fork+0x2d/0x50 [  T292]  ? kthread_complete_and_exit+0x20/0x20 [  T292]  ret_from_fork_asm+0x11/0x20 [  T292]  </TASK>  To fix this issue igb_io_resume() checks if the interface is running and the device is not down this means igb_io_error_detected() did not bring the device down and there is no need to bring it up.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50044",
                                "url": "https://ubuntu.com/security/CVE-2024-50044",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: RFCOMM: FIX possible deadlock in rfcomm_sk_state_change  rfcomm_sk_state_change attempts to use sock_lock so it must never be called with it locked but rfcomm_sock_ioctl always attempt to lock it causing the following trace:  ====================================================== WARNING: possible circular locking dependency detected 6.8.0-syzkaller-08951-gfe46a7dd189e #0 Not tainted ------------------------------------------------------ syz-executor386/5093 is trying to acquire lock: ffff88807c396258 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1671 [inline] ffff88807c396258 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, at: rfcomm_sk_state_change+0x5b/0x310 net/bluetooth/rfcomm/sock.c:73  but task is already holding lock: ffff88807badfd28 (&d->lock){+.+.}-{3:3}, at: __rfcomm_dlc_close+0x226/0x6a0 net/bluetooth/rfcomm/core.c:491",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50045",
                                "url": "https://ubuntu.com/security/CVE-2024-50045",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: br_netfilter: fix panic with metadata_dst skb  Fix a kernel panic in the br_netfilter module when sending untagged traffic via a VxLAN device. This happens during the check for fragmentation in br_nf_dev_queue_xmit.  It is dependent on: 1) the br_netfilter module being loaded; 2) net.bridge.bridge-nf-call-iptables set to 1; 3) a bridge with a VxLAN (single-vxlan-device) netdevice as a bridge port; 4) untagged frames with size higher than the VxLAN MTU forwarded/flooded  When forwarding the untagged packet to the VxLAN bridge port, before the netfilter hooks are called, br_handle_egress_vlan_tunnel is called and changes the skb_dst to the tunnel dst. The tunnel_dst is a metadata type of dst, i.e., skb_valid_dst(skb) is false, and metadata->dst.dev is NULL.  Then in the br_netfilter hooks, in br_nf_dev_queue_xmit, there's a check for frames that needs to be fragmented: frames with higher MTU than the VxLAN device end up calling br_nf_ip_fragment, which in turns call ip_skb_dst_mtu.  The ip_dst_mtu tries to use the skb_dst(skb) as if it was a valid dst with valid dst->dev, thus the crash.  This case was never supported in the first place, so drop the packet instead.  PING 10.0.0.2 (10.0.0.2) from 0.0.0.0 h1-eth0: 2000(2028) bytes of data. [  176.291791] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000110 [  176.292101] Mem abort info: [  176.292184]   ESR = 0x0000000096000004 [  176.292322]   EC = 0x25: DABT (current EL), IL = 32 bits [  176.292530]   SET = 0, FnV = 0 [  176.292709]   EA = 0, S1PTW = 0 [  176.292862]   FSC = 0x04: level 0 translation fault [  176.293013] Data abort info: [  176.293104]   ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [  176.293488]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [  176.293787]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [  176.293995] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000043ef5000 [  176.294166] [0000000000000110] pgd=0000000000000000, p4d=0000000000000000 [  176.294827] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP [  176.295252] Modules linked in: vxlan ip6_udp_tunnel udp_tunnel veth br_netfilter bridge stp llc ipv6 crct10dif_ce [  176.295923] CPU: 0 PID: 188 Comm: ping Not tainted 6.8.0-rc3-g5b3fbd61b9d1 #2 [  176.296314] Hardware name: linux,dummy-virt (DT) [  176.296535] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [  176.296808] pc : br_nf_dev_queue_xmit+0x390/0x4ec [br_netfilter] [  176.297382] lr : br_nf_dev_queue_xmit+0x2ac/0x4ec [br_netfilter] [  176.297636] sp : ffff800080003630 [  176.297743] x29: ffff800080003630 x28: 0000000000000008 x27: ffff6828c49ad9f8 [  176.298093] x26: ffff6828c49ad000 x25: 0000000000000000 x24: 00000000000003e8 [  176.298430] x23: 0000000000000000 x22: ffff6828c4960b40 x21: ffff6828c3b16d28 [  176.298652] x20: ffff6828c3167048 x19: ffff6828c3b16d00 x18: 0000000000000014 [  176.298926] x17: ffffb0476322f000 x16: ffffb7e164023730 x15: 0000000095744632 [  176.299296] x14: ffff6828c3f1c880 x13: 0000000000000002 x12: ffffb7e137926a70 [  176.299574] x11: 0000000000000001 x10: ffff6828c3f1c898 x9 : 0000000000000000 [  176.300049] x8 : ffff6828c49bf070 x7 : 0008460f18d5f20e x6 : f20e0100bebafeca [  176.300302] x5 : ffff6828c7f918fe x4 : ffff6828c49bf070 x3 : 0000000000000000 [  176.300586] x2 : 0000000000000000 x1 : ffff6828c3c7ad00 x0 : ffff6828c7f918f0 [  176.300889] Call trace: [  176.301123]  br_nf_dev_queue_xmit+0x390/0x4ec [br_netfilter] [  176.301411]  br_nf_post_routing+0x2a8/0x3e4 [br_netfilter] [  176.301703]  nf_hook_slow+0x48/0x124 [  176.302060]  br_forward_finish+0xc8/0xe8 [bridge] [  176.302371]  br_nf_hook_thresh+0x124/0x134 [br_netfilter] [  176.302605]  br_nf_forward_finish+0x118/0x22c [br_netfilter] [  176.302824]  br_nf_forward_ip.part.0+0x264/0x290 [br_netfilter] [  176.303136]  br_nf_forward+0x2b8/0x4e0 [br_netfilter] [  176.303359]  nf_hook_slow+0x48/0x124 [  176.303 ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-38544",
                                "url": "https://ubuntu.com/security/CVE-2024-38544",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt In rxe_comp_queue_pkt() an incoming response packet skb is enqueued to the resp_pkts queue and then a decision is made whether to run the completer task inline or schedule it. Finally the skb is dereferenced to bump a 'hw' performance counter. This is wrong because if the completer task is already running in a separate thread it may have already processed the skb and freed it which can cause a seg fault. This has been observed infrequently in testing at high scale. This patch fixes this by changing the order of enqueuing the packet until after the counter is accessed.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-06-19 14:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50180",
                                "url": "https://ubuntu.com/security/CVE-2024-50180",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fbdev: sisfb: Fix strbuf array overflow  The values of the variables xres and yres are placed in strbuf. These variables are obtained from strbuf1. The strbuf1 array contains digit characters and a space if the array contains non-digit characters. Then, when executing sprintf(strbuf, \"%ux%ux8\", xres, yres); more than 16 bytes will be written to strbuf. It is suggested to increase the size of the strbuf array to 24.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50184",
                                "url": "https://ubuntu.com/security/CVE-2024-50184",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  virtio_pmem: Check device status before requesting flush  If a pmem device is in a bad status, the driver side could wait for host ack forever in virtio_pmem_flush(), causing the system to hang.  So add a status check in the beginning of virtio_pmem_flush() to return early if the device is not activated.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50059",
                                "url": "https://ubuntu.com/security/CVE-2024-50059",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition  In the switchtec_ntb_add function, it can call switchtec_ntb_init_sndev function, then &sndev->check_link_status_work is bound with check_link_status_work. switchtec_ntb_link_notification may be called to start the work.  If we remove the module which will call switchtec_ntb_remove to make cleanup, it will free sndev through kfree(sndev), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                 CPU1                          | check_link_status_work switchtec_ntb_remove    | kfree(sndev);           |                         | if (sndev->link_force_down)                         | // use sndev  Fix it by ensuring that the work is canceled before proceeding with the cleanup in switchtec_ntb_remove.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50089",
                                "url": "https://ubuntu.com/security/CVE-2024-50089",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 17:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49955",
                                "url": "https://ubuntu.com/security/CVE-2024-49955",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPI: battery: Fix possible crash when unregistering a battery hook  When a battery hook returns an error when adding a new battery, then the battery hook is automatically unregistered. However the battery hook provider cannot know that, so it will later call battery_hook_unregister() on the already unregistered battery hook, resulting in a crash.  Fix this by using the list head to mark already unregistered battery hooks as already being unregistered so that they can be ignored by battery_hook_unregister().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49973",
                                "url": "https://ubuntu.com/security/CVE-2024-49973",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  r8169: add tally counter fields added with RTL8125  RTL8125 added fields to the tally counter, what may result in the chip dma'ing these new fields to unallocated memory. Therefore make sure that the allocated memory area is big enough to hold all of the tally counter values, even if we use only parts of it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49975",
                                "url": "https://ubuntu.com/security/CVE-2024-49975",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  uprobes: fix kernel info leak via \"[uprobes]\" vma  xol_add_vma() maps the uninitialized page allocated by __create_xol_area() into userspace. On some architectures (x86) this memory is readable even without VM_READ, VM_EXEC results in the same pgprot_t as VM_EXEC|VM_READ, although this doesn't really matter, debugger can read this memory anyway.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49867",
                                "url": "https://ubuntu.com/security/CVE-2024-49867",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: wait for fixup workers before stopping cleaner kthread during umount  During unmount, at close_ctree(), we have the following steps in this order:  1) Park the cleaner kthread - this doesn't destroy the kthread, it basically    halts its execution (wake ups against it work but do nothing);  2) We stop the cleaner kthread - this results in freeing the respective    struct task_struct;  3) We call btrfs_stop_all_workers() which waits for any jobs running in all    the work queues and then free the work queues.  Syzbot reported a case where a fixup worker resulted in a crash when doing a delayed iput on its inode while attempting to wake up the cleaner at btrfs_add_delayed_iput(), because the task_struct of the cleaner kthread was already freed. This can happen during unmount because we don't wait for any fixup workers still running before we call kthread_stop() against the cleaner kthread, which stops and free all its resources.  Fix this by waiting for any fixup workers at close_ctree() before we call kthread_stop() against the cleaner and run pending delayed iputs.  The stack traces reported by syzbot were the following:    BUG: KASAN: slab-use-after-free in __lock_acquire+0x77/0x2050 kernel/locking/lockdep.c:5065   Read of size 8 at addr ffff8880272a8a18 by task kworker/u8:3/52    CPU: 1 UID: 0 PID: 52 Comm: kworker/u8:3 Not tainted 6.12.0-rc1-syzkaller #0   Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024   Workqueue: btrfs-fixup btrfs_work_helper   Call Trace:    <TASK>    __dump_stack lib/dump_stack.c:94 [inline]    dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120    print_address_description mm/kasan/report.c:377 [inline]    print_report+0x169/0x550 mm/kasan/report.c:488    kasan_report+0x143/0x180 mm/kasan/report.c:601    __lock_acquire+0x77/0x2050 kernel/locking/lockdep.c:5065    lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5825    __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]    _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162    class_raw_spinlock_irqsave_constructor include/linux/spinlock.h:551 [inline]    try_to_wake_up+0xb0/0x1480 kernel/sched/core.c:4154    btrfs_writepage_fixup_worker+0xc16/0xdf0 fs/btrfs/inode.c:2842    btrfs_work_helper+0x390/0xc50 fs/btrfs/async-thread.c:314    process_one_work kernel/workqueue.c:3229 [inline]    process_scheduled_works+0xa63/0x1850 kernel/workqueue.c:3310    worker_thread+0x870/0xd30 kernel/workqueue.c:3391    kthread+0x2f0/0x390 kernel/kthread.c:389    ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147    ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244    </TASK>    Allocated by task 2:    kasan_save_stack mm/kasan/common.c:47 [inline]    kasan_save_track+0x3f/0x80 mm/kasan/common.c:68    unpoison_slab_object mm/kasan/common.c:319 [inline]    __kasan_slab_alloc+0x66/0x80 mm/kasan/common.c:345    kasan_slab_alloc include/linux/kasan.h:247 [inline]    slab_post_alloc_hook mm/slub.c:4086 [inline]    slab_alloc_node mm/slub.c:4135 [inline]    kmem_cache_alloc_node_noprof+0x16b/0x320 mm/slub.c:4187    alloc_task_struct_node kernel/fork.c:180 [inline]    dup_task_struct+0x57/0x8c0 kernel/fork.c:1107    copy_process+0x5d1/0x3d50 kernel/fork.c:2206    kernel_clone+0x223/0x880 kernel/fork.c:2787    kernel_thread+0x1bc/0x240 kernel/fork.c:2849    create_kthread kernel/kthread.c:412 [inline]    kthreadd+0x60d/0x810 kernel/kthread.c:765    ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147    ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244    Freed by task 61:    kasan_save_stack mm/kasan/common.c:47 [inline]    kasan_save_track+0x3f/0x80 mm/kasan/common.c:68    kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579    poison_slab_object mm/kasan/common.c:247 [inline]    __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264    kasan_slab_free include/linux/kasan.h:230 [inline]    slab_free_h ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49868",
                                "url": "https://ubuntu.com/security/CVE-2024-49868",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: fix a NULL pointer dereference when failed to start a new trasacntion  [BUG] Syzbot reported a NULL pointer dereference with the following crash:    FAULT_INJECTION: forcing a failure.    start_transaction+0x830/0x1670 fs/btrfs/transaction.c:676    prepare_to_relocate+0x31f/0x4c0 fs/btrfs/relocation.c:3642    relocate_block_group+0x169/0xd20 fs/btrfs/relocation.c:3678   ...   BTRFS info (device loop0): balance: ended with status: -12   Oops: general protection fault, probably for non-canonical address 0xdffffc00000000cc: 0000 [#1] PREEMPT SMP KASAN NOPTI   KASAN: null-ptr-deref in range [0x0000000000000660-0x0000000000000667]   RIP: 0010:btrfs_update_reloc_root+0x362/0xa80 fs/btrfs/relocation.c:926   Call Trace:    <TASK>    commit_fs_roots+0x2ee/0x720 fs/btrfs/transaction.c:1496    btrfs_commit_transaction+0xfaf/0x3740 fs/btrfs/transaction.c:2430    del_balance_item fs/btrfs/volumes.c:3678 [inline]    reset_balance_state+0x25e/0x3c0 fs/btrfs/volumes.c:3742    btrfs_balance+0xead/0x10c0 fs/btrfs/volumes.c:4574    btrfs_ioctl_balance+0x493/0x7c0 fs/btrfs/ioctl.c:3673    vfs_ioctl fs/ioctl.c:51 [inline]    __do_sys_ioctl fs/ioctl.c:907 [inline]    __se_sys_ioctl+0xf9/0x170 fs/ioctl.c:893    do_syscall_x64 arch/x86/entry/common.c:52 [inline]    do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83    entry_SYSCALL_64_after_hwframe+0x77/0x7f  [CAUSE] The allocation failure happens at the start_transaction() inside prepare_to_relocate(), and during the error handling we call unset_reloc_control(), which makes fs_info->balance_ctl to be NULL.  Then we continue the error path cleanup in btrfs_balance() by calling reset_balance_state() which will call del_balance_item() to fully delete the balance item in the root tree.  However during the small window between set_reloc_contrl() and unset_reloc_control(), we can have a subvolume tree update and created a reloc_root for that subvolume.  Then we go into the final btrfs_commit_transaction() of del_balance_item(), and into btrfs_update_reloc_root() inside commit_fs_roots().  That function checks if fs_info->reloc_ctl is in the merge_reloc_tree stage, but since fs_info->reloc_ctl is NULL, it results a NULL pointer dereference.  [FIX] Just add extra check on fs_info->reloc_ctl inside btrfs_update_reloc_root(), before checking fs_info->reloc_ctl->merge_reloc_tree.  That DEAD_RELOC_TREE handling is to prevent further modification to the reloc tree during merge stage, but since there is no reloc_ctl at all, we do not need to bother that.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49981",
                                "url": "https://ubuntu.com/security/CVE-2024-49981",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: venus: fix use after free bug in venus_remove due to race condition  in venus_probe, core->work is bound with venus_sys_error_handler, which is used to handle error. The code use core->sys_err_done to make sync work. The core->work is started in venus_event_notify.  If we call venus_remove, there might be an unfished work. The possible sequence is as follows:  CPU0                  CPU1                       |venus_sys_error_handler venus_remove         | hfi_destroy\t \t\t | venus_hfi_destroy\t | kfree(hdev);\t     |                      |hfi_reinit \t\t\t\t\t |venus_hfi_queues_reinit                      |//use hdev  Fix it by canceling the work in venus_remove.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49982",
                                "url": "https://ubuntu.com/security/CVE-2024-49982",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  aoe: fix the potential use-after-free problem in more places  For fixing CVE-2023-6270, f98364e92662 (\"aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts\") makes tx() calling dev_put() instead of doing in aoecmd_cfg_pkts(). It avoids that the tx() runs into use-after-free.  Then Nicolai Stange found more places in aoe have potential use-after-free problem with tx(). e.g. revalidate(), aoecmd_ata_rw(), resend(), probe() and aoecmd_cfg_rsp(). Those functions also use aoenet_xmit() to push packet to tx queue. So they should also use dev_hold() to increase the refcnt of skb->dev.  On the other hand, moving dev_put() to tx() causes that the refcnt of skb->dev be reduced to a negative value, because corresponding dev_hold() are not called in revalidate(), aoecmd_ata_rw(), resend(), probe(), and aoecmd_cfg_rsp(). This patch fixed this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49877",
                                "url": "https://ubuntu.com/security/CVE-2024-49877",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate  When doing cleanup, if flags without OCFS2_BH_READAHEAD, it may trigger NULL pointer dereference in the following ocfs2_set_buffer_uptodate() if bh is NULL.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49957",
                                "url": "https://ubuntu.com/security/CVE-2024-49957",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix null-ptr-deref when journal load failed.  During the mounting process, if journal_reset() fails because of too short journal, then lead to jbd2_journal_load() fails with NULL j_sb_buffer. Subsequently, ocfs2_journal_shutdown() calls jbd2_journal_flush()->jbd2_cleanup_journal_tail()-> __jbd2_update_log_tail()->jbd2_journal_update_sb_log_tail() ->lock_buffer(journal->j_sb_buffer), resulting in a null-pointer dereference error.  To resolve this issue, we should check the JBD2_LOADED flag to ensure the journal was properly loaded.  Additionally, use journal instead of osb->journal directly to simplify the code.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49965",
                                "url": "https://ubuntu.com/security/CVE-2024-49965",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: remove unreasonable unlock in ocfs2_read_blocks  Patch series \"Misc fixes for ocfs2_read_blocks\", v5.  This series contains 2 fixes for ocfs2_read_blocks().  The first patch fix the issue reported by syzbot, which detects bad unlock balance in ocfs2_read_blocks().  The second patch fixes an issue reported by Heming Zhao when reviewing above fix.   This patch (of 2):  There was a lock release before exiting, so remove the unreasonable unlock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49966",
                                "url": "https://ubuntu.com/security/CVE-2024-49966",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: cancel dqi_sync_work before freeing oinfo  ocfs2_global_read_info() will initialize and schedule dqi_sync_work at the end, if error occurs after successfully reading global quota, it will trigger the following warning with CONFIG_DEBUG_OBJECTS_* enabled:  ODEBUG: free active (active state 0) object: 00000000d8b0ce28 object type: timer_list hint: qsync_work_fn+0x0/0x16c  This reports that there is an active delayed work when freeing oinfo in error handling, so cancel dqi_sync_work first.  BTW, return status instead of -1 when .read_file_info fails.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49958",
                                "url": "https://ubuntu.com/security/CVE-2024-49958",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: reserve space for inline xattr before attaching reflink tree  One of our customers reported a crash and a corrupted ocfs2 filesystem. The crash was due to the detection of corruption.  Upon troubleshooting, the fsck -fn output showed the below corruption  [EXTENT_LIST_FREE] Extent list in owner 33080590 claims 230 as the next free chain record, but fsck believes the largest valid value is 227.  Clamp the next record value? n  The stat output from the debugfs.ocfs2 showed the following corruption where the \"Next Free Rec:\" had overshot the \"Count:\" in the root metadata block.          Inode: 33080590   Mode: 0640   Generation: 2619713622 (0x9c25a856)         FS Generation: 904309833 (0x35e6ac49)         CRC32: 00000000   ECC: 0000         Type: Regular   Attr: 0x0   Flags: Valid         Dynamic Features: (0x16) HasXattr InlineXattr Refcounted         Extended Attributes Block: 0  Extended Attributes Inline Size: 256         User: 0 (root)   Group: 0 (root)   Size: 281320357888         Links: 1   Clusters: 141738         ctime: 0x66911b56 0x316edcb8 -- Fri Jul 12 06:02:30.829349048 2024         atime: 0x66911d6b 0x7f7a28d -- Fri Jul 12 06:11:23.133669517 2024         mtime: 0x66911b56 0x12ed75d7 -- Fri Jul 12 06:02:30.317552087 2024         dtime: 0x0 -- Wed Dec 31 17:00:00 1969         Refcount Block: 2777346         Last Extblk: 2886943   Orphan Slot: 0         Sub Alloc Slot: 0   Sub Alloc Bit: 14         Tree Depth: 1   Count: 227   Next Free Rec: 230         ## Offset        Clusters       Block#         0  0             2310           2776351         1  2310          2139           2777375         2  4449          1221           2778399         3  5670          731            2779423         4  6401          566            2780447         .......          ....           .......         .......          ....           .......  The issue was in the reflink workfow while reserving space for inline xattr.  The problematic function is ocfs2_reflink_xattr_inline().  By the time this function is called the reflink tree is already recreated at the destination inode from the source inode.  At this point, this function reserves space for inline xattrs at the destination inode without even checking if there is space at the root metadata block.  It simply reduces the l_count from 243 to 227 thereby making space of 256 bytes for inline xattr whereas the inode already has extents beyond this index (in this case up to 230), thereby causing corruption.  The fix for this is to reserve space for inline metadata at the destination inode before the reflink tree gets recreated. The customer has verified the fix.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49959",
                                "url": "https://ubuntu.com/security/CVE-2024-49959",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error  In __jbd2_log_wait_for_space(), we might call jbd2_cleanup_journal_tail() to recover some journal space. But if an error occurs while executing jbd2_cleanup_journal_tail() (e.g., an EIO), we don't stop waiting for free space right away, we try other branches, and if j_committing_transaction is NULL (i.e., the tid is 0), we will get the following complain:  ============================================ JBD2: I/O error when updating journal superblock for sdd-8. __jbd2_log_wait_for_space: needed 256 blocks and only had 217 space available __jbd2_log_wait_for_space: no way to get more journal space in sdd-8 ------------[ cut here ]------------ WARNING: CPU: 2 PID: 139804 at fs/jbd2/checkpoint.c:109 __jbd2_log_wait_for_space+0x251/0x2e0 Modules linked in: CPU: 2 PID: 139804 Comm: kworker/u8:3 Not tainted 6.6.0+ #1 RIP: 0010:__jbd2_log_wait_for_space+0x251/0x2e0 Call Trace:  <TASK>  add_transaction_credits+0x5d1/0x5e0  start_this_handle+0x1ef/0x6a0  jbd2__journal_start+0x18b/0x340  ext4_dirty_inode+0x5d/0xb0  __mark_inode_dirty+0xe4/0x5d0  generic_update_time+0x60/0x70 [...] ============================================  So only if jbd2_cleanup_journal_tail() returns 1, i.e., there is nothing to clean up at the moment, continue to try to reclaim free space in other ways.  Note that this fix relies on commit 6f6a6fda2945 (\"jbd2: fix ocfs2 corrupt when updating journal superblock fails\") to make jbd2_cleanup_journal_tail return the correct error code.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49879",
                                "url": "https://ubuntu.com/security/CVE-2024-49879",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm: omapdrm: Add missing check for alloc_ordered_workqueue  As it may return NULL pointer and cause NULL pointer dereference. Add check for the return value of alloc_ordered_workqueue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49882",
                                "url": "https://ubuntu.com/security/CVE-2024-49882",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix double brelse() the buffer of the extents path  In ext4_ext_try_to_merge_up(), set path[1].p_bh to NULL after it has been released, otherwise it may be released twice. An example of what triggers this is as follows:    split2    map    split1 |--------|-------|--------|  ext4_ext_map_blocks  ext4_ext_handle_unwritten_extents   ext4_split_convert_extents    // path->p_depth == 0    ext4_split_extent      // 1. do split1      ext4_split_extent_at        |ext4_ext_insert_extent        |  ext4_ext_create_new_leaf        |    ext4_ext_grow_indepth        |      le16_add_cpu(&neh->eh_depth, 1)        |    ext4_find_extent        |      // return -ENOMEM        |// get error and try zeroout        |path = ext4_find_extent        |  path->p_depth = 1        |ext4_ext_try_to_merge        |  ext4_ext_try_to_merge_up        |    path->p_depth = 0        |    brelse(path[1].p_bh)  ---> not set to NULL here        |// zeroout success      // 2. update path      ext4_find_extent      // 3. do split2      ext4_split_extent_at        ext4_ext_insert_extent          ext4_ext_create_new_leaf            ext4_ext_grow_indepth              le16_add_cpu(&neh->eh_depth, 1)            ext4_find_extent              path[0].p_bh = NULL;              path->p_depth = 1              read_extent_tree_block  ---> return err              // path[1].p_bh is still the old value              ext4_free_ext_path                ext4_ext_drop_refs                  // path->p_depth == 1                  brelse(path[1].p_bh)  ---> brelse a buffer twice  Finally got the following WARRNING when removing the buffer from lru:  ============================================ VFS: brelse: Trying to free free buffer WARNING: CPU: 2 PID: 72 at fs/buffer.c:1241 __brelse+0x58/0x90 CPU: 2 PID: 72 Comm: kworker/u19:1 Not tainted 6.9.0-dirty #716 RIP: 0010:__brelse+0x58/0x90 Call Trace:  <TASK>  __find_get_block+0x6e7/0x810  bdev_getblk+0x2b/0x480  __ext4_get_inode_loc+0x48a/0x1240  ext4_get_inode_loc+0xb2/0x150  ext4_reserve_inode_write+0xb7/0x230  __ext4_mark_inode_dirty+0x144/0x6a0  ext4_ext_insert_extent+0x9c8/0x3230  ext4_ext_map_blocks+0xf45/0x2dc0  ext4_map_blocks+0x724/0x1700  ext4_do_writepages+0x12d6/0x2a70 [...] ============================================",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49883",
                                "url": "https://ubuntu.com/security/CVE-2024-49883",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: aovid use-after-free in ext4_ext_insert_extent()  As Ojaswin mentioned in Link, in ext4_ext_insert_extent(), if the path is reallocated in ext4_ext_create_new_leaf(), we'll use the stale path and cause UAF. Below is a sample trace with dummy values:  ext4_ext_insert_extent   path = *ppath = 2000   ext4_ext_create_new_leaf(ppath)     ext4_find_extent(ppath)       path = *ppath = 2000       if (depth > path[0].p_maxdepth)             kfree(path = 2000);             *ppath = path = NULL;       path = kcalloc() = 3000       *ppath = 3000;       return path;   /* here path is still 2000, UAF! */   eh = path[depth].p_hdr  ================================================================== BUG: KASAN: slab-use-after-free in ext4_ext_insert_extent+0x26d4/0x3330 Read of size 8 at addr ffff8881027bf7d0 by task kworker/u36:1/179 CPU: 3 UID: 0 PID: 179 Comm: kworker/u6:1 Not tainted 6.11.0-rc2-dirty #866 Call Trace:  <TASK>  ext4_ext_insert_extent+0x26d4/0x3330  ext4_ext_map_blocks+0xe22/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800 [...]  Allocated by task 179:  ext4_find_extent+0x81c/0x1f70  ext4_ext_map_blocks+0x146/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800  ext4_writepages+0x26d/0x4e0  do_writepages+0x175/0x700 [...]  Freed by task 179:  kfree+0xcb/0x240  ext4_find_extent+0x7c0/0x1f70  ext4_ext_insert_extent+0xa26/0x3330  ext4_ext_map_blocks+0xe22/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800  ext4_writepages+0x26d/0x4e0  do_writepages+0x175/0x700 [...] ==================================================================  So use *ppath to update the path to avoid the above problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49985",
                                "url": "https://ubuntu.com/security/CVE-2024-49985",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume  In case there is any sort of clock controller attached to this I2C bus controller, for example Versaclock or even an AIC32x4 I2C codec, then an I2C transfer triggered from the clock controller clk_ops .prepare callback may trigger a deadlock on drivers/clk/clk.c prepare_lock mutex.  This is because the clock controller first grabs the prepare_lock mutex and then performs the prepare operation, including its I2C access. The I2C access resumes this I2C bus controller via .runtime_resume callback, which calls clk_prepare_enable(), which attempts to grab the prepare_lock mutex again and deadlocks.  Since the clock are already prepared since probe() and unprepared in remove(), use simple clk_enable()/clk_disable() calls to enable and disable the clock on runtime suspend and resume, to avoid hitting the prepare_lock mutex.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50006",
                                "url": "https://ubuntu.com/security/CVE-2024-50006",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix i_data_sem unlock order in ext4_ind_migrate()  Fuzzing reports a possible deadlock in jbd2_log_wait_commit.  This issue is triggered when an EXT4_IOC_MIGRATE ioctl is set to require synchronous updates because the file descriptor is opened with O_SYNC. This can lead to the jbd2_journal_stop() function calling jbd2_might_wait_for_commit(), potentially causing a deadlock if the EXT4_IOC_MIGRATE call races with a write(2) system call.  This problem only arises when CONFIG_PROVE_LOCKING is enabled. In this case, the jbd2_might_wait_for_commit macro locks jbd2_handle in the jbd2_journal_stop function while i_data_sem is locked. This triggers lockdep because the jbd2_journal_start function might also lock the same jbd2_handle simultaneously.  Found by Linux Verification Center (linuxtesting.org) with syzkaller.  Rule: add",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 19:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49892",
                                "url": "https://ubuntu.com/security/CVE-2024-49892",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Initialize get_bytes_per_element's default to 1  Variables, used as denominators and maybe not assigned to other values, should not be 0. bytes_per_element_y & bytes_per_element_c are initialized by get_bytes_per_element() which should never return 0.  This fixes 10 DIVIDE_BY_ZERO issues reported by Coverity.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49894",
                                "url": "https://ubuntu.com/security/CVE-2024-49894",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Fix index out of bounds in degamma hardware format translation  Fixes index out of bounds issue in `cm_helper_translate_curve_to_degamma_hw_format` function. The issue could occur when the index 'i' exceeds the number of transfer function points (TRANSFER_FUNC_POINTS).  The fix adds a check to ensure 'i' is within bounds before accessing the transfer function points. If 'i' is out of bounds the function returns false to indicate an error.  Reported by smatch: drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:594 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.red' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:595 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.green' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:596 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.blue' 1025 <= s32max",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49896",
                                "url": "https://ubuntu.com/security/CVE-2024-49896",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Check stream before comparing them  [WHAT & HOW] amdgpu_dm can pass a null stream to dc_is_stream_unchanged. It is necessary to check for null before dereferencing them.  This fixes 1 FORWARD_NULL issue reported by Coverity.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49900",
                                "url": "https://ubuntu.com/security/CVE-2024-49900",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: Fix uninit-value access of new_ea in ea_buffer  syzbot reports that lzo1x_1_do_compress is using uninit-value:  ===================================================== BUG: KMSAN: uninit-value in lzo1x_1_do_compress+0x19f9/0x2510 lib/lzo/lzo1x_compress.c:178  ...  Uninit was stored to memory at:  ea_put fs/jfs/xattr.c:639 [inline]  ...  Local variable ea_buf created at:  __jfs_setxattr+0x5d/0x1ae0 fs/jfs/xattr.c:662  __jfs_xattr_set+0xe6/0x1f0 fs/jfs/xattr.c:934  =====================================================  The reason is ea_buf->new_ea is not initialized properly.  Fix this by using memset to empty its content at the beginning in ea_get().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49902",
                                "url": "https://ubuntu.com/security/CVE-2024-49902",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: check if leafidx greater than num leaves per dmap tree  syzbot report a out of bounds in dbSplit, it because dmt_leafidx greater than num leaves per dmap tree, add a checking for dmt_leafidx in dbFindLeaf.  Shaggy: Modified sanity check to apply to control pages as well as leaf pages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49903",
                                "url": "https://ubuntu.com/security/CVE-2024-49903",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: Fix uaf in dbFreeBits  [syzbot reported] ================================================================== BUG: KASAN: slab-use-after-free in __mutex_lock_common kernel/locking/mutex.c:587 [inline] BUG: KASAN: slab-use-after-free in __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752 Read of size 8 at addr ffff8880229254b0 by task syz-executor357/5216  CPU: 0 UID: 0 PID: 5216 Comm: syz-executor357 Not tainted 6.11.0-rc3-syzkaller-00156-gd7a5aa4b3c00 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024 Call Trace:  <TASK>  __dump_stack lib/dump_stack.c:93 [inline]  dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119  print_address_description mm/kasan/report.c:377 [inline]  print_report+0x169/0x550 mm/kasan/report.c:488  kasan_report+0x143/0x180 mm/kasan/report.c:601  __mutex_lock_common kernel/locking/mutex.c:587 [inline]  __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752  dbFreeBits+0x7ea/0xd90 fs/jfs/jfs_dmap.c:2390  dbFreeDmap fs/jfs/jfs_dmap.c:2089 [inline]  dbFree+0x35b/0x680 fs/jfs/jfs_dmap.c:409  dbDiscardAG+0x8a9/0xa20 fs/jfs/jfs_dmap.c:1650  jfs_ioc_trim+0x433/0x670 fs/jfs/jfs_discard.c:100  jfs_ioctl+0x2d0/0x3e0 fs/jfs/ioctl.c:131  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:907 [inline]  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:893  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  Freed by task 5218:  kasan_save_stack mm/kasan/common.c:47 [inline]  kasan_save_track+0x3f/0x80 mm/kasan/common.c:68  kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579  poison_slab_object+0xe0/0x150 mm/kasan/common.c:240  __kasan_slab_free+0x37/0x60 mm/kasan/common.c:256  kasan_slab_free include/linux/kasan.h:184 [inline]  slab_free_hook mm/slub.c:2252 [inline]  slab_free mm/slub.c:4473 [inline]  kfree+0x149/0x360 mm/slub.c:4594  dbUnmount+0x11d/0x190 fs/jfs/jfs_dmap.c:278  jfs_mount_rw+0x4ac/0x6a0 fs/jfs/jfs_mount.c:247  jfs_remount+0x3d1/0x6b0 fs/jfs/super.c:454  reconfigure_super+0x445/0x880 fs/super.c:1083  vfs_cmd_reconfigure fs/fsopen.c:263 [inline]  vfs_fsconfig_locked fs/fsopen.c:292 [inline]  __do_sys_fsconfig fs/fsopen.c:473 [inline]  __se_sys_fsconfig+0xb6e/0xf80 fs/fsopen.c:345  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  [Analysis] There are two paths (dbUnmount and jfs_ioc_trim) that generate race condition when accessing bmap, which leads to the occurrence of uaf.  Use the lock s_umount to synchronize them, in order to avoid uaf caused by race condition.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49924",
                                "url": "https://ubuntu.com/security/CVE-2024-49924",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fbdev: pxafb: Fix possible use after free in pxafb_task()  In the pxafb_probe function, it calls the pxafb_init_fbinfo function, after which &fbi->task is associated with pxafb_task. Moreover, within this pxafb_init_fbinfo function, the pxafb_blank function within the &pxafb_ops struct is capable of scheduling work.  If we remove the module which will call pxafb_remove to make cleanup, it will call unregister_framebuffer function which can call do_unregister_framebuffer to free fbi->fb through put_fb_info(fb_info), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                                CPU1                                     | pxafb_task pxafb_remove                       | unregister_framebuffer(info)       | do_unregister_framebuffer(fb_info) | put_fb_info(fb_info)               | // free fbi->fb                    | set_ctrlr_state(fbi, state)                                    | __pxafb_lcd_power(fbi, 0)                                    | fbi->lcd_power(on, &fbi->fb.var)                                    | //use fbi->fb  Fix it by ensuring that the work is canceled before proceeding with the cleanup in pxafb_remove.  Note that only root user can remove the driver at runtime.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50007",
                                "url": "https://ubuntu.com/security/CVE-2024-50007",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: asihpi: Fix potential OOB array access  ASIHPI driver stores some values in the static array upon a response from the driver, and its index depends on the firmware.  We shouldn't trust it blindly.  This patch adds a sanity check of the array index to fit in the array size.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 19:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50008",
                                "url": "https://ubuntu.com/security/CVE-2024-50008",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext()  Replace one-element array with a flexible-array member in `struct host_cmd_ds_802_11_scan_ext`.  With this, fix the following warning:  elo 16 17:51:58 surfacebook kernel: ------------[ cut here ]------------ elo 16 17:51:58 surfacebook kernel: memcpy: detected field-spanning write (size 243) of single field \"ext_scan->tlv_buffer\" at drivers/net/wireless/marvell/mwifiex/scan.c:2239 (size 1) elo 16 17:51:58 surfacebook kernel: WARNING: CPU: 0 PID: 498 at drivers/net/wireless/marvell/mwifiex/scan.c:2239 mwifiex_cmd_802_11_scan_ext+0x83/0x90 [mwifiex]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 19:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49995",
                                "url": "https://ubuntu.com/security/CVE-2024-49995",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tipc: guard against string buffer overrun  Smatch reports that copying media_name and if_name to name_parts may overwrite the destination.   .../bearer.c:166 bearer_name_validate() error: strcpy() 'media_name' too large for 'name_parts->media_name' (32 vs 16)  .../bearer.c:167 bearer_name_validate() error: strcpy() 'if_name' too large for 'name_parts->if_name' (1010102 vs 16)  This does seem to be the case so guard against this possibility by using strscpy() and failing if truncation occurs.  Introduced by commit b97bf3fd8f6a (\"[TIPC] Initial merge\")  Compile tested only.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49962",
                                "url": "https://ubuntu.com/security/CVE-2024-49962",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package()  ACPICA commit 4d4547cf13cca820ff7e0f859ba83e1a610b9fd0  ACPI_ALLOCATE_ZEROED() may fail, elements might be NULL and will cause NULL pointer dereference later.  [ rjw: Subject and changelog edits ]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49938",
                                "url": "https://ubuntu.com/security/CVE-2024-49938",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit  Syzbot points out that skb_trim() has a sanity check on the existing length of the skb, which can be uninitialised in some error paths. The intent here is clearly just to reset the length to zero before resubmitting, so switch to calling __skb_set_length(skb, 0) directly. In addition, __skb_set_length() already contains a call to skb_reset_tail_pointer(), so remove the redundant call.  The syzbot report came from ath9k_hif_usb_reg_in_cb(), but there's a similar usage of skb_trim() in ath9k_hif_usb_rx_cb(), change both while we're at it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47740",
                                "url": "https://ubuntu.com/security/CVE-2024-47740",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: Require FMODE_WRITE for atomic write ioctls  The F2FS ioctls for starting and committing atomic writes check for inode_owner_or_capable(), but this does not give LSMs like SELinux or Landlock an opportunity to deny the write access - if the caller's FSUID matches the inode's UID, inode_owner_or_capable() immediately returns true.  There are scenarios where LSMs want to deny a process the ability to write particular files, even files that the FSUID of the process owns; but this can currently partially be bypassed using atomic write ioctls in two ways:   - F2FS_IOC_START_ATOMIC_REPLACE + F2FS_IOC_COMMIT_ATOMIC_WRITE can    truncate an inode to size 0  - F2FS_IOC_START_ATOMIC_WRITE + F2FS_IOC_ABORT_ATOMIC_WRITE can revert    changes another process concurrently made to a file  Fix it by requiring FMODE_WRITE for these operations, just like for F2FS_IOC_MOVE_RANGE. Since any legitimate caller should only be using these ioctls when intending to write into the file, that seems unlikely to break anything.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49944",
                                "url": "https://ubuntu.com/security/CVE-2024-49944",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start  In sctp_listen_start() invoked by sctp_inet_listen(), it should set the sk_state back to CLOSED if sctp_autobind() fails due to whatever reason.  Otherwise, next time when calling sctp_inet_listen(), if sctp_sk(sk)->reuse is already set via setsockopt(SCTP_REUSE_PORT), sctp_sk(sk)->bind_hash will be dereferenced as sk_state is LISTENING, which causes a crash as bind_hash is NULL.    KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]   RIP: 0010:sctp_inet_listen+0x7f0/0xa20 net/sctp/socket.c:8617   Call Trace:    <TASK>    __sys_listen_socket net/socket.c:1883 [inline]    __sys_listen+0x1b7/0x230 net/socket.c:1894    __do_sys_listen net/socket.c:1902 [inline]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49948",
                                "url": "https://ubuntu.com/security/CVE-2024-49948",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: add more sanity checks to qdisc_pkt_len_init()  One path takes care of SKB_GSO_DODGY, assuming skb->len is bigger than hdr_len.  virtio_net_hdr_to_skb() does not fully dissect TCP headers, it only make sure it is at least 20 bytes.  It is possible for an user to provide a malicious 'GSO' packet, total length of 80 bytes.  - 20 bytes of IPv4 header - 60 bytes TCP header - a small gso_size like 8  virtio_net_hdr_to_skb() would declare this packet as a normal GSO packet, because it would see 40 bytes of payload, bigger than gso_size.  We need to make detect this case to not underflow qdisc_skb_cb(skb)->pkt_len.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49949",
                                "url": "https://ubuntu.com/security/CVE-2024-49949",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: avoid potential underflow in qdisc_pkt_len_init() with UFO  After commit 7c6d2ecbda83 (\"net: be more gentle about silly gso requests coming from user\") virtio_net_hdr_to_skb() had sanity check to detect malicious attempts from user space to cook a bad GSO packet.  Then commit cf9acc90c80ec (\"net: virtio_net_hdr_to_skb: count transport header in UFO\") while fixing one issue, allowed user space to cook a GSO packet with the following characteristic :  IPv4 SKB_GSO_UDP, gso_size=3, skb->len = 28.  When this packet arrives in qdisc_pkt_len_init(), we end up with hdr_len = 28 (IPv4 header + UDP header), matching skb->len  Then the following sets gso_segs to 0 :  gso_segs = DIV_ROUND_UP(skb->len - hdr_len,                         shinfo->gso_size);  Then later we set qdisc_skb_cb(skb)->pkt_len to back to zero :/  qdisc_skb_cb(skb)->pkt_len += (gso_segs - 1) * hdr_len;  This leads to the following crash in fq_codel [1]  qdisc_pkt_len_init() is best effort, we only want an estimation of the bytes sent on the wire, not crashing the kernel.  This patch is fixing this particular issue, a following one adds more sanity checks for another potential bug.  [1] [   70.724101] BUG: kernel NULL pointer dereference, address: 0000000000000000 [   70.724561] #PF: supervisor read access in kernel mode [   70.724561] #PF: error_code(0x0000) - not-present page [   70.724561] PGD 10ac61067 P4D 10ac61067 PUD 107ee2067 PMD 0 [   70.724561] Oops: Oops: 0000 [#1] SMP NOPTI [   70.724561] CPU: 11 UID: 0 PID: 2163 Comm: b358537762 Not tainted 6.11.0-virtme #991 [   70.724561] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [   70.724561] RIP: 0010:fq_codel_enqueue (net/sched/sch_fq_codel.c:120 net/sched/sch_fq_codel.c:168 net/sched/sch_fq_codel.c:230) sch_fq_codel [ 70.724561] Code: 24 08 49 c1 e1 06 44 89 7c 24 18 45 31 ed 45 31 c0 31 ff 89 44 24 14 4c 03 8b 90 01 00 00 eb 04 39 ca 73 37 4d 8b 39 83 c7 01 <49> 8b 17 49 89 11 41 8b 57 28 45 8b 5f 34 49 c7 07 00 00 00 00 49 All code ========    0:\t24 08                \tand    $0x8,%al    2:\t49 c1 e1 06          \tshl    $0x6,%r9    6:\t44 89 7c 24 18       \tmov    %r15d,0x18(%rsp)    b:\t45 31 ed             \txor    %r13d,%r13d    e:\t45 31 c0             \txor    %r8d,%r8d   11:\t31 ff                \txor    %edi,%edi   13:\t89 44 24 14          \tmov    %eax,0x14(%rsp)   17:\t4c 03 8b 90 01 00 00 \tadd    0x190(%rbx),%r9   1e:\teb 04                \tjmp    0x24   20:\t39 ca                \tcmp    %ecx,%edx   22:\t73 37                \tjae    0x5b   24:\t4d 8b 39             \tmov    (%r9),%r15   27:\t83 c7 01             \tadd    $0x1,%edi   2a:*\t49 8b 17             \tmov    (%r15),%rdx\t\t<-- trapping instruction   2d:\t49 89 11             \tmov    %rdx,(%r9)   30:\t41 8b 57 28          \tmov    0x28(%r15),%edx   34:\t45 8b 5f 34          \tmov    0x34(%r15),%r11d   38:\t49 c7 07 00 00 00 00 \tmovq   $0x0,(%r15)   3f:\t49                   \trex.WB  Code starting with the faulting instruction ===========================================    0:\t49 8b 17             \tmov    (%r15),%rdx    3:\t49 89 11             \tmov    %rdx,(%r9)    6:\t41 8b 57 28          \tmov    0x28(%r15),%edx    a:\t45 8b 5f 34          \tmov    0x34(%r15),%r11d    e:\t49 c7 07 00 00 00 00 \tmovq   $0x0,(%r15)   15:\t49                   \trex.WB [   70.724561] RSP: 0018:ffff95ae85e6fb90 EFLAGS: 00000202 [   70.724561] RAX: 0000000002000000 RBX: ffff95ae841de000 RCX: 0000000000000000 [   70.724561] RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000001 [   70.724561] RBP: ffff95ae85e6fbf8 R08: 0000000000000000 R09: ffff95b710a30000 [   70.724561] R10: 0000000000000000 R11: bdf289445ce31881 R12: ffff95ae85e6fc58 [   70.724561] R13: 0000000000000000 R14: 0000000000000040 R15: 0000000000000000 [   70.724561] FS:  000000002c5c1380(0000) GS:ffff95bd7fcc0000(0000) knlGS:0000000000000000 [   70.724561] CS:  0010 DS: 0000 ES: 0000 C ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49997",
                                "url": "https://ubuntu.com/security/CVE-2024-49997",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: ethernet: lantiq_etop: fix memory disclosure  When applying padding, the buffer is not zeroed, which results in memory disclosure. The mentioned data is observed on the wire. This patch uses skb_put_padto() to pad Ethernet frames properly. The mentioned function zeroes the expanded buffer.  In case the packet cannot be padded it is silently dropped. Statistics are also not incremented. This driver does not support statistics in the old 32-bit format or the new 64-bit format. These will be added in the future. In its current form, the patch should be easily backported to stable versions.  Ethernet MACs on Amazon-SE and Danube cannot do padding of the packets in hardware, so software padding must be applied.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49952",
                                "url": "https://ubuntu.com/security/CVE-2024-49952",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: prevent nf_skb_duplicated corruption  syzbot found that nf_dup_ipv4() or nf_dup_ipv6() could write per-cpu variable nf_skb_duplicated in an unsafe way [1].  Disabling preemption as hinted by the splat is not enough, we have to disable soft interrupts as well.  [1] BUG: using __this_cpu_write() in preemptible [00000000] code: syz.4.282/6316  caller is nf_dup_ipv4+0x651/0x8f0 net/ipv4/netfilter/nf_dup_ipv4.c:87 CPU: 0 UID: 0 PID: 6316 Comm: syz.4.282 Not tainted 6.11.0-rc7-syzkaller-00104-g7052622fccb1 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 Call Trace:  <TASK>   __dump_stack lib/dump_stack.c:93 [inline]   dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119   check_preemption_disabled+0x10e/0x120 lib/smp_processor_id.c:49   nf_dup_ipv4+0x651/0x8f0 net/ipv4/netfilter/nf_dup_ipv4.c:87   nft_dup_ipv4_eval+0x1db/0x300 net/ipv4/netfilter/nft_dup_ipv4.c:30   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x4ad/0x1da0 net/netfilter/nf_tables_core.c:288   nft_do_chain_ipv4+0x202/0x320 net/netfilter/nft_chain_filter.c:23   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xc3/0x220 net/netfilter/core.c:626   nf_hook+0x2c4/0x450 include/linux/netfilter.h:269   NF_HOOK_COND include/linux/netfilter.h:302 [inline]   ip_output+0x185/0x230 net/ipv4/ip_output.c:433   ip_local_out net/ipv4/ip_output.c:129 [inline]   ip_send_skb+0x74/0x100 net/ipv4/ip_output.c:1495   udp_send_skb+0xacf/0x1650 net/ipv4/udp.c:981   udp_sendmsg+0x1c21/0x2a60 net/ipv4/udp.c:1269   sock_sendmsg_nosec net/socket.c:730 [inline]   __sock_sendmsg+0x1a6/0x270 net/socket.c:745   ____sys_sendmsg+0x525/0x7d0 net/socket.c:2597   ___sys_sendmsg net/socket.c:2651 [inline]   __sys_sendmmsg+0x3b2/0x740 net/socket.c:2737   __do_sys_sendmmsg net/socket.c:2766 [inline]   __se_sys_sendmmsg net/socket.c:2763 [inline]   __x64_sys_sendmmsg+0xa0/0xb0 net/socket.c:2763   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f4ce4f7def9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f4ce5d4a038 EFLAGS: 00000246 ORIG_RAX: 0000000000000133 RAX: ffffffffffffffda RBX: 00007f4ce5135f80 RCX: 00007f4ce4f7def9 RDX: 0000000000000001 RSI: 0000000020005d40 RDI: 0000000000000006 RBP: 00007f4ce4ff0b76 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f4ce5135f80 R15: 00007ffd4cbc6d68  </TASK>",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50179",
                                "url": "https://ubuntu.com/security/CVE-2024-50179",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ceph: remove the incorrect Fw reference check when dirtying pages  When doing the direct-io reads it will also try to mark pages dirty, but for the read path it won't hold the Fw caps and there is case will it get the Fw reference.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49963",
                                "url": "https://ubuntu.com/security/CVE-2024-49963",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mailbox: bcm2835: Fix timeout during suspend mode  During noirq suspend phase the Raspberry Pi power driver suffer of firmware property timeouts. The reason is that the IRQ of the underlying BCM2835 mailbox is disabled and rpi_firmware_property_list() will always run into a timeout [1].  Since the VideoCore side isn't consider as a wakeup source, set the IRQF_NO_SUSPEND flag for the mailbox IRQ in order to keep it enabled during suspend-resume cycle.  [1] PM: late suspend of devices complete after 1.754 msecs WARNING: CPU: 0 PID: 438 at drivers/firmware/raspberrypi.c:128  rpi_firmware_property_list+0x204/0x22c Firmware transaction 0x00028001 timeout Modules linked in: CPU: 0 PID: 438 Comm: bash Tainted: G         C         6.9.3-dirty #17 Hardware name: BCM2835 Call trace: unwind_backtrace from show_stack+0x18/0x1c show_stack from dump_stack_lvl+0x34/0x44 dump_stack_lvl from __warn+0x88/0xec __warn from warn_slowpath_fmt+0x7c/0xb0 warn_slowpath_fmt from rpi_firmware_property_list+0x204/0x22c rpi_firmware_property_list from rpi_firmware_property+0x68/0x8c rpi_firmware_property from rpi_firmware_set_power+0x54/0xc0 rpi_firmware_set_power from _genpd_power_off+0xe4/0x148 _genpd_power_off from genpd_sync_power_off+0x7c/0x11c genpd_sync_power_off from genpd_finish_suspend+0xcc/0xe0 genpd_finish_suspend from dpm_run_callback+0x78/0xd0 dpm_run_callback from device_suspend_noirq+0xc0/0x238 device_suspend_noirq from dpm_suspend_noirq+0xb0/0x168 dpm_suspend_noirq from suspend_devices_and_enter+0x1b8/0x5ac suspend_devices_and_enter from pm_suspend+0x254/0x2e4 pm_suspend from state_store+0xa8/0xd4 state_store from kernfs_fop_write_iter+0x154/0x1a0 kernfs_fop_write_iter from vfs_write+0x12c/0x184 vfs_write from ksys_write+0x78/0xc0 ksys_write from ret_fast_syscall+0x0/0x54 Exception stack(0xcc93dfa8 to 0xcc93dff0) [...] PM: noirq suspend of devices complete after 3095.584 msecs",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-46849",
                                "url": "https://ubuntu.com/security/CVE-2024-46849",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: meson: axg-card: fix 'use-after-free'  Buffer 'card->dai_link' is reallocated in 'meson_card_reallocate_links()', so move 'pad' pointer initialization after this function when memory is already reallocated.  Kasan bug report:  ================================================================== BUG: KASAN: slab-use-after-free in axg_card_add_link+0x76c/0x9bc Read of size 8 at addr ffff000000e8b260 by task modprobe/356  CPU: 0 PID: 356 Comm: modprobe Tainted: G O 6.9.12-sdkernel #1 Call trace:  dump_backtrace+0x94/0xec  show_stack+0x18/0x24  dump_stack_lvl+0x78/0x90  print_report+0xfc/0x5c0  kasan_report+0xb8/0xfc  __asan_load8+0x9c/0xb8  axg_card_add_link+0x76c/0x9bc [snd_soc_meson_axg_sound_card]  meson_card_probe+0x344/0x3b8 [snd_soc_meson_card_utils]  platform_probe+0x8c/0xf4  really_probe+0x110/0x39c  __driver_probe_device+0xb8/0x18c  driver_probe_device+0x108/0x1d8  __driver_attach+0xd0/0x25c  bus_for_each_dev+0xe0/0x154  driver_attach+0x34/0x44  bus_add_driver+0x134/0x294  driver_register+0xa8/0x1e8  __platform_driver_register+0x44/0x54  axg_card_pdrv_init+0x20/0x1000 [snd_soc_meson_axg_sound_card]  do_one_initcall+0xdc/0x25c  do_init_module+0x10c/0x334  load_module+0x24c4/0x26cc  init_module_from_file+0xd4/0x128  __arm64_sys_finit_module+0x1f4/0x41c  invoke_syscall+0x60/0x188  el0_svc_common.constprop.0+0x78/0x13c  do_el0_svc+0x30/0x40  el0_svc+0x38/0x78  el0t_64_sync_handler+0x100/0x12c  el0t_64_sync+0x190/0x194",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-09-27 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47679",
                                "url": "https://ubuntu.com/security/CVE-2024-47679",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  vfs: fix race between evice_inodes() and find_inode()&iput()  Hi, all  Recently I noticed a bug[1] in btrfs, after digged it into and I believe it'a race in vfs.  Let's assume there's a inode (ie ino 261) with i_count 1 is called by iput(), and there's a concurrent thread calling generic_shutdown_super().  cpu0:                              cpu1: iput() // i_count is 1   ->spin_lock(inode)   ->dec i_count to 0   ->iput_final()                    generic_shutdown_super()     ->__inode_add_lru()               ->evict_inodes()       // cause some reason[2]           ->if (atomic_read(inode->i_count)) continue;       // return before                  // inode 261 passed the above check       // list_lru_add_obj()             // and then schedule out    ->spin_unlock() // note here: the inode 261 // was still at sb list and hash list, // and I_FREEING|I_WILL_FREE was not been set  btrfs_iget()   // after some function calls   ->find_inode()     // found the above inode 261     ->spin_lock(inode)    // check I_FREEING|I_WILL_FREE    // and passed       ->__iget()     ->spin_unlock(inode)                // schedule back                                         ->spin_lock(inode)                                         // check (I_NEW|I_FREEING|I_WILL_FREE) flags,                                         // passed and set I_FREEING iput()                                  ->spin_unlock(inode)   ->spin_lock(inode)\t\t\t  ->evict()   // dec i_count to 0   ->iput_final()     ->spin_unlock()     ->evict()  Now, we have two threads simultaneously evicting the same inode, which may trigger the BUG(inode->i_state & I_CLEAR) statement both within clear_inode() and iput().  To fix the bug, recheck the inode->i_count after holding i_lock. Because in the most scenarios, the first check is valid, and the overhead of spin_lock() can be reduced.  If there is any misunderstanding, please let me know, thanks.  [1]: https://lore.kernel.org/linux-btrfs/000000000000eabe1d0619c48986@google.com/ [2]: The reason might be 1. SB_ACTIVE was removed or 2. mapping_shrinkable() return false when I reproduced the bug.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49860",
                                "url": "https://ubuntu.com/security/CVE-2024-49860",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPI: sysfs: validate return type of _STR method  Only buffer objects are valid return values of _STR.  If something else is returned description_show() will access invalid memory.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47742",
                                "url": "https://ubuntu.com/security/CVE-2024-47742",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  firmware_loader: Block path traversal  Most firmware names are hardcoded strings, or are constructed from fairly constrained format strings where the dynamic parts are just some hex numbers or such.  However, there are a couple codepaths in the kernel where firmware file names contain string components that are passed through from a device or semi-privileged userspace; the ones I could find (not counting interfaces that require root privileges) are:   - lpfc_sli4_request_firmware_update() seems to construct the firmware    filename from \"ModelName\", a string that was previously parsed out of    some descriptor (\"Vital Product Data\") in lpfc_fill_vpd()  - nfp_net_fw_find() seems to construct a firmware filename from a model    name coming from nfp_hwinfo_lookup(pf->hwinfo, \"nffw.partno\"), which I    think parses some descriptor that was read from the device.    (But this case likely isn't exploitable because the format string looks    like \"netronome/nic_%s\", and there shouldn't be any *folders* starting    with \"netronome/nic_\". The previous case was different because there,    the \"%s\" is *at the start* of the format string.)  - module_flash_fw_schedule() is reachable from the    ETHTOOL_MSG_MODULE_FW_FLASH_ACT netlink command, which is marked as    GENL_UNS_ADMIN_PERM (meaning CAP_NET_ADMIN inside a user namespace is    enough to pass the privilege check), and takes a userspace-provided    firmware name.    (But I think to reach this case, you need to have CAP_NET_ADMIN over a    network namespace that a special kind of ethernet device is mapped into,    so I think this is not a viable attack path in practice.)  Fix it by rejecting any firmware names containing \"..\" path components.  For what it's worth, I went looking and haven't found any USB device drivers that use the firmware loader dangerously.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47684",
                                "url": "https://ubuntu.com/security/CVE-2024-47684",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tcp: check skb is non-NULL in tcp_rto_delta_us()  We have some machines running stock Ubuntu 20.04.6 which is their 5.4.0-174-generic kernel that are running ceph and recently hit a null ptr dereference in tcp_rearm_rto(). Initially hitting it from the TLP path, but then later we also saw it getting hit from the RACK case as well. Here are examples of the oops messages we saw in each of those cases:  Jul 26 15:05:02 rx [11061395.780353] BUG: kernel NULL pointer dereference, address: 0000000000000020 Jul 26 15:05:02 rx [11061395.787572] #PF: supervisor read access in kernel mode Jul 26 15:05:02 rx [11061395.792971] #PF: error_code(0x0000) - not-present page Jul 26 15:05:02 rx [11061395.798362] PGD 0 P4D 0 Jul 26 15:05:02 rx [11061395.801164] Oops: 0000 [#1] SMP NOPTI Jul 26 15:05:02 rx [11061395.805091] CPU: 0 PID: 9180 Comm: msgr-worker-1 Tainted: G W 5.4.0-174-generic #193-Ubuntu Jul 26 15:05:02 rx [11061395.814996] Hardware name: Supermicro SMC 2x26 os-gen8 64C NVME-Y 256G/H12SSW-NTR, BIOS 2.5.V1.2U.NVMe.UEFI 05/09/2023 Jul 26 15:05:02 rx [11061395.825952] RIP: 0010:tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.830656] Code: 87 ca 04 00 00 00 5b 41 5c 41 5d 5d c3 c3 49 8b bc 24 40 06 00 00 eb 8d 48 bb cf f7 53 e3 a5 9b c4 20 4c 89 ef e8 0c fe 0e 00 <48> 8b 78 20 48 c1 ef 03 48 89 f8 41 8b bc 24 80 04 00 00 48 f7 e3 Jul 26 15:05:02 rx [11061395.849665] RSP: 0018:ffffb75d40003e08 EFLAGS: 00010246 Jul 26 15:05:02 rx [11061395.855149] RAX: 0000000000000000 RBX: 20c49ba5e353f7cf RCX: 0000000000000000 Jul 26 15:05:02 rx [11061395.862542] RDX: 0000000062177c30 RSI: 000000000000231c RDI: ffff9874ad283a60 Jul 26 15:05:02 rx [11061395.869933] RBP: ffffb75d40003e20 R08: 0000000000000000 R09: ffff987605e20aa8 Jul 26 15:05:02 rx [11061395.877318] R10: ffffb75d40003f00 R11: ffffb75d4460f740 R12: ffff9874ad283900 Jul 26 15:05:02 rx [11061395.884710] R13: ffff9874ad283a60 R14: ffff9874ad283980 R15: ffff9874ad283d30 Jul 26 15:05:02 rx [11061395.892095] FS: 00007f1ef4a2e700(0000) GS:ffff987605e00000(0000) knlGS:0000000000000000 Jul 26 15:05:02 rx [11061395.900438] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Jul 26 15:05:02 rx [11061395.906435] CR2: 0000000000000020 CR3: 0000003e450ba003 CR4: 0000000000760ef0 Jul 26 15:05:02 rx [11061395.913822] PKRU: 55555554 Jul 26 15:05:02 rx [11061395.916786] Call Trace: Jul 26 15:05:02 rx [11061395.919488] Jul 26 15:05:02 rx [11061395.921765] ? show_regs.cold+0x1a/0x1f Jul 26 15:05:02 rx [11061395.925859] ? __die+0x90/0xd9 Jul 26 15:05:02 rx [11061395.929169] ? no_context+0x196/0x380 Jul 26 15:05:02 rx [11061395.933088] ? ip6_protocol_deliver_rcu+0x4e0/0x4e0 Jul 26 15:05:02 rx [11061395.938216] ? ip6_sublist_rcv_finish+0x3d/0x50 Jul 26 15:05:02 rx [11061395.943000] ? __bad_area_nosemaphore+0x50/0x1a0 Jul 26 15:05:02 rx [11061395.947873] ? bad_area_nosemaphore+0x16/0x20 Jul 26 15:05:02 rx [11061395.952486] ? do_user_addr_fault+0x267/0x450 Jul 26 15:05:02 rx [11061395.957104] ? ipv6_list_rcv+0x112/0x140 Jul 26 15:05:02 rx [11061395.961279] ? __do_page_fault+0x58/0x90 Jul 26 15:05:02 rx [11061395.965458] ? do_page_fault+0x2c/0xe0 Jul 26 15:05:02 rx [11061395.969465] ? page_fault+0x34/0x40 Jul 26 15:05:02 rx [11061395.973217] ? tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.977313] ? tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.981408] tcp_send_loss_probe+0x10b/0x220 Jul 26 15:05:02 rx [11061395.985937] tcp_write_timer_handler+0x1b4/0x240 Jul 26 15:05:02 rx [11061395.990809] tcp_write_timer+0x9e/0xe0 Jul 26 15:05:02 rx [11061395.994814] ? tcp_write_timer_handler+0x240/0x240 Jul 26 15:05:02 rx [11061395.999866] call_timer_fn+0x32/0x130 Jul 26 15:05:02 rx [11061396.003782] __run_timers.part.0+0x180/0x280 Jul 26 15:05:02 rx [11061396.008309] ? recalibrate_cpu_khz+0x10/0x10 Jul 26 15:05:02 rx [11061396.012841] ? native_x2apic_icr_write+0x30/0x30 Jul 26 15:05:02 rx [11061396.017718] ? lapic_next_even ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47747",
                                "url": "https://ubuntu.com/security/CVE-2024-47747",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition  In the ether3_probe function, a timer is initialized with a callback function ether3_ledoff, bound to &prev(dev)->timer. Once the timer is started, there is a risk of a race condition if the module or device is removed, triggering the ether3_remove function to perform cleanup. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                    CPU1                        |  ether3_ledoff ether3_remove         |   free_netdev(dev);   |   put_devic           |   kfree(dev);         |  |  ether3_outw(priv(dev)->regs.config2 |= CFG2_CTRLO, REG_CONFIG2);                       | // use dev  Fix it by ensuring that the timer is canceled before proceeding with the cleanup in ether3_remove.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47685",
                                "url": "https://ubuntu.com/security/CVE-2024-47685",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()  syzbot reported that nf_reject_ip6_tcphdr_put() was possibly sending garbage on the four reserved tcp bits (th->res1)  Use skb_put_zero() to clear the whole TCP header, as done in nf_reject_ip_tcphdr_put()  BUG: KMSAN: uninit-value in nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255   nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255   nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344   nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288   nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626   nf_hook include/linux/netfilter.h:269 [inline]   NF_HOOK include/linux/netfilter.h:312 [inline]   ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310   __netif_receive_skb_one_core net/core/dev.c:5661 [inline]   __netif_receive_skb+0x1da/0xa00 net/core/dev.c:5775   process_backlog+0x4ad/0xa50 net/core/dev.c:6108   __napi_poll+0xe7/0x980 net/core/dev.c:6772   napi_poll net/core/dev.c:6841 [inline]   net_rx_action+0xa5a/0x19b0 net/core/dev.c:6963   handle_softirqs+0x1ce/0x800 kernel/softirq.c:554   __do_softirq+0x14/0x1a kernel/softirq.c:588   do_softirq+0x9a/0x100 kernel/softirq.c:455   __local_bh_enable_ip+0x9f/0xb0 kernel/softirq.c:382   local_bh_enable include/linux/bottom_half.h:33 [inline]   rcu_read_unlock_bh include/linux/rcupdate.h:908 [inline]   __dev_queue_xmit+0x2692/0x5610 net/core/dev.c:4450   dev_queue_xmit include/linux/netdevice.h:3105 [inline]   neigh_resolve_output+0x9ca/0xae0 net/core/neighbour.c:1565   neigh_output include/net/neighbour.h:542 [inline]   ip6_finish_output2+0x2347/0x2ba0 net/ipv6/ip6_output.c:141   __ip6_finish_output net/ipv6/ip6_output.c:215 [inline]   ip6_finish_output+0xbb8/0x14b0 net/ipv6/ip6_output.c:226   NF_HOOK_COND include/linux/netfilter.h:303 [inline]   ip6_output+0x356/0x620 net/ipv6/ip6_output.c:247   dst_output include/net/dst.h:450 [inline]   NF_HOOK include/linux/netfilter.h:314 [inline]   ip6_xmit+0x1ba6/0x25d0 net/ipv6/ip6_output.c:366   inet6_csk_xmit+0x442/0x530 net/ipv6/inet6_connection_sock.c:135   __tcp_transmit_skb+0x3b07/0x4880 net/ipv4/tcp_output.c:1466   tcp_transmit_skb net/ipv4/tcp_output.c:1484 [inline]   tcp_connect+0x35b6/0x7130 net/ipv4/tcp_output.c:4143   tcp_v6_connect+0x1bcc/0x1e40 net/ipv6/tcp_ipv6.c:333   __inet_stream_connect+0x2ef/0x1730 net/ipv4/af_inet.c:679   inet_stream_connect+0x6a/0xd0 net/ipv4/af_inet.c:750   __sys_connect_file net/socket.c:2061 [inline]   __sys_connect+0x606/0x690 net/socket.c:2078   __do_sys_connect net/socket.c:2088 [inline]   __se_sys_connect net/socket.c:2085 [inline]   __x64_sys_connect+0x91/0xe0 net/socket.c:2085   x64_sys_call+0x27a5/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:43   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was stored to memory at:   nf_reject_ip6_tcphdr_put+0x60c/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:249   nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344   nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288   nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626   nf_hook include/linux/netfilter.h:269 [inline]   NF_HOOK include/linux/netfilter.h:312 [inline]   ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310   __netif_receive_skb_one_core ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47692",
                                "url": "https://ubuntu.com/security/CVE-2024-47692",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfsd: return -EINVAL when namelen is 0  When we have a corrupted main.sqlite in /var/lib/nfs/nfsdcld/, it may result in namelen being 0, which will cause memdup_user() to return ZERO_SIZE_PTR. When we access the name.data that has been assigned the value of ZERO_SIZE_PTR in nfs4_client_to_reclaim(), null pointer dereference is triggered.  [ T1205] ================================================================== [ T1205] BUG: KASAN: null-ptr-deref in nfs4_client_to_reclaim+0xe9/0x260 [ T1205] Read of size 1 at addr 0000000000000010 by task nfsdcld/1205 [ T1205] [ T1205] CPU: 11 PID: 1205 Comm: nfsdcld Not tainted 5.10.0-00003-g2c1423731b8d #406 [ T1205] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-buildvm-ppc64le-16.ppc.fedoraproject.org-3.fc31 04/01/2014 [ T1205] Call Trace: [ T1205]  dump_stack+0x9a/0xd0 [ T1205]  ? nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  __kasan_report.cold+0x34/0x84 [ T1205]  ? nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  kasan_report+0x3a/0x50 [ T1205]  nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  ? nfsd4_release_lockowner+0x410/0x410 [ T1205]  cld_pipe_downcall+0x5ca/0x760 [ T1205]  ? nfsd4_cld_tracking_exit+0x1d0/0x1d0 [ T1205]  ? down_write_killable_nested+0x170/0x170 [ T1205]  ? avc_policy_seqno+0x28/0x40 [ T1205]  ? selinux_file_permission+0x1b4/0x1e0 [ T1205]  rpc_pipe_write+0x84/0xb0 [ T1205]  vfs_write+0x143/0x520 [ T1205]  ksys_write+0xc9/0x170 [ T1205]  ? __ia32_sys_read+0x50/0x50 [ T1205]  ? ktime_get_coarse_real_ts64+0xfe/0x110 [ T1205]  ? ktime_get_coarse_real_ts64+0xa2/0x110 [ T1205]  do_syscall_64+0x33/0x40 [ T1205]  entry_SYSCALL_64_after_hwframe+0x67/0xd1 [ T1205] RIP: 0033:0x7fdbdb761bc7 [ T1205] Code: 0f 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 514 [ T1205] RSP: 002b:00007fff8c4b7248 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ T1205] RAX: ffffffffffffffda RBX: 000000000000042b RCX: 00007fdbdb761bc7 [ T1205] RDX: 000000000000042b RSI: 00007fff8c4b75f0 RDI: 0000000000000008 [ T1205] RBP: 00007fdbdb761bb0 R08: 0000000000000000 R09: 0000000000000001 [ T1205] R10: 0000000000000000 R11: 0000000000000246 R12: 000000000000042b [ T1205] R13: 0000000000000008 R14: 00007fff8c4b75f0 R15: 0000000000000000 [ T1205] ==================================================================  Fix it by checking namelen.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47737",
                                "url": "https://ubuntu.com/security/CVE-2024-47737",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfsd: call cache_put if xdr_reserve_space returns NULL  If not enough buffer space available, but idmap_lookup has triggered lookup_fn which calls cache_get and returns successfully. Then we missed to call cache_put here which pairs with cache_get.  Reviwed-by: Jeff Layton <jlayton@kernel.org>",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2023-52917",
                                "url": "https://ubuntu.com/security/CVE-2023-52917",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()  The debugfs_create_dir() function returns error pointers. It never returns NULL. So use IS_ERR() to check it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47749",
                                "url": "https://ubuntu.com/security/CVE-2024-47749",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cxgb4: Added NULL check for lookup_atid  The lookup_atid() function can return NULL if the ATID is invalid or does not exist in the identifier table, which could lead to dereferencing a null pointer without a check in the `act_establish()` and `act_open_rpl()` functions. Add a NULL check to prevent null pointer dereferencing.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47696",
                                "url": "https://ubuntu.com/security/CVE-2024-47696",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency  In the commit aee2424246f9 (\"RDMA/iwcm: Fix a use-after-free related to destroying CM IDs\"), the function flush_workqueue is invoked to flush the work queue iwcm_wq.  But at that time, the work queue iwcm_wq was created via the function alloc_ordered_workqueue without the flag WQ_MEM_RECLAIM.  Because the current process is trying to flush the whole iwcm_wq, if iwcm_wq doesn't have the flag WQ_MEM_RECLAIM, verify that the current process is not reclaiming memory or running on a workqueue which doesn't have the flag WQ_MEM_RECLAIM as that can break forward-progress guarantee leading to a deadlock.  The call trace is as below:  [  125.350876][ T1430] Call Trace: [  125.356281][ T1430]  <TASK> [ 125.361285][ T1430] ? __warn (kernel/panic.c:693) [ 125.367640][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.375689][ T1430] ? report_bug (lib/bug.c:180 lib/bug.c:219) [ 125.382505][ T1430] ? handle_bug (arch/x86/kernel/traps.c:239) [ 125.388987][ T1430] ? exc_invalid_op (arch/x86/kernel/traps.c:260 (discriminator 1)) [ 125.395831][ T1430] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:621) [ 125.403125][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.410984][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.418764][ T1430] __flush_workqueue (kernel/workqueue.c:3970) [ 125.426021][ T1430] ? __pfx___might_resched (kernel/sched/core.c:10151) [ 125.433431][ T1430] ? destroy_cm_id (drivers/infiniband/core/iwcm.c:375) iw_cm [ 125.441209][ T1430] ? __pfx___flush_workqueue (kernel/workqueue.c:3910) [ 125.473900][ T1430] ? _raw_spin_lock_irqsave (arch/x86/include/asm/atomic.h:107 include/linux/atomic/atomic-arch-fallback.h:2170 include/linux/atomic/atomic-instrumented.h:1302 include/asm-generic/qspinlock.h:111 include/linux/spinlock.h:187 include/linux/spinlock_api_smp.h:111 kernel/locking/spinlock.c:162) [ 125.473909][ T1430] ? __pfx__raw_spin_lock_irqsave (kernel/locking/spinlock.c:161) [ 125.482537][ T1430] _destroy_id (drivers/infiniband/core/cma.c:2044) rdma_cm [ 125.495072][ T1430] nvme_rdma_free_queue (drivers/nvme/host/rdma.c:656 drivers/nvme/host/rdma.c:650) nvme_rdma [ 125.505827][ T1430] nvme_rdma_reset_ctrl_work (drivers/nvme/host/rdma.c:2180) nvme_rdma [ 125.505831][ T1430] process_one_work (kernel/workqueue.c:3231) [ 125.515122][ T1430] worker_thread (kernel/workqueue.c:3306 kernel/workqueue.c:3393) [ 125.515127][ T1430] ? __pfx_worker_thread (kernel/workqueue.c:3339) [ 125.531837][ T1430] kthread (kernel/kthread.c:389) [ 125.539864][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.550628][ T1430] ret_from_fork (arch/x86/kernel/process.c:147) [ 125.558840][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.558844][ T1430] ret_from_fork_asm (arch/x86/entry/entry_64.S:257) [  125.566487][ T1430]  </TASK> [  125.566488][ T1430] ---[ end trace 0000000000000000 ]---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47756",
                                "url": "https://ubuntu.com/security/CVE-2024-47756",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  PCI: keystone: Fix if-statement expression in ks_pcie_quirk()  This code accidentally uses && where || was intended.  It potentially results in a NULL dereference.  Thus, fix the if-statement expression to use the correct condition.  [kwilczynski: commit log]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47697",
                                "url": "https://ubuntu.com/security/CVE-2024-47697",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error  Ensure index in rtl2830_pid_filter does not exceed 31 to prevent out-of-bounds access.  dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47698",
                                "url": "https://ubuntu.com/security/CVE-2024-47698",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error  Ensure index in rtl2832_pid_filter does not exceed 31 to prevent out-of-bounds access.  dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue.  [hverkuil: added fixes tag, rtl2830_pid_filter -> rtl2832_pid_filter in logmsg]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47757",
                                "url": "https://ubuntu.com/security/CVE-2024-47757",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential oob read in nilfs_btree_check_delete()  The function nilfs_btree_check_delete(), which checks whether degeneration to direct mapping occurs before deleting a b-tree entry, causes memory access outside the block buffer when retrieving the maximum key if the root node has no entries.  This does not usually happen because b-tree mappings with 0 child nodes are never created by mkfs.nilfs2 or nilfs2 itself.  However, it can happen if the b-tree root node read from a device is configured that way, so fix this potential issue by adding a check for that case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47699",
                                "url": "https://ubuntu.com/security/CVE-2024-47699",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()  Patch series \"nilfs2: fix potential issues with empty b-tree nodes\".  This series addresses three potential issues with empty b-tree nodes that can occur with corrupted filesystem images, including one recently discovered by syzbot.   This patch (of 3):  If a b-tree is broken on the device, and the b-tree height is greater than 2 (the level of the root node is greater than 1) even if the number of child nodes of the b-tree root is 0, a NULL pointer dereference occurs in nilfs_btree_prepare_insert(), which is called from nilfs_btree_insert().  This is because, when the number of child nodes of the b-tree root is 0, nilfs_btree_do_lookup() does not set the block buffer head in any of path[x].bp_bh, leaving it as the initial value of NULL, but if the level of the b-tree root node is greater than 1, nilfs_btree_get_nonroot_node(), which accesses the buffer memory of path[x].bp_bh, is called.  Fix this issue by adding a check to nilfs_btree_root_broken(), which performs sanity checks when reading the root node from the device, to detect this inconsistency.  Thanks to Lizhi Xu for trying to solve the bug and clarifying the cause early on.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47701",
                                "url": "https://ubuntu.com/security/CVE-2024-47701",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: avoid OOB when system.data xattr changes underneath the filesystem  When looking up for an entry in an inlined directory, if e_value_offs is changed underneath the filesystem by some change in the block device, it will lead to an out-of-bounds access that KASAN detects as an UAF.  EXT4-fs (loop0): mounted filesystem 00000000-0000-0000-0000-000000000000 r/w without journal. Quota mode: none. loop0: detected capacity change from 2048 to 2047 ================================================================== BUG: KASAN: use-after-free in ext4_search_dir+0xf2/0x1c0 fs/ext4/namei.c:1500 Read of size 1 at addr ffff88803e91130f by task syz-executor269/5103  CPU: 0 UID: 0 PID: 5103 Comm: syz-executor269 Not tainted 6.11.0-rc4-syzkaller #0 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 lib/dump_stack.c:93 [inline]  dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119  print_address_description mm/kasan/report.c:377 [inline]  print_report+0x169/0x550 mm/kasan/report.c:488  kasan_report+0x143/0x180 mm/kasan/report.c:601  ext4_search_dir+0xf2/0x1c0 fs/ext4/namei.c:1500  ext4_find_inline_entry+0x4be/0x5e0 fs/ext4/inline.c:1697  __ext4_find_entry+0x2b4/0x1b30 fs/ext4/namei.c:1573  ext4_lookup_entry fs/ext4/namei.c:1727 [inline]  ext4_lookup+0x15f/0x750 fs/ext4/namei.c:1795  lookup_one_qstr_excl+0x11f/0x260 fs/namei.c:1633  filename_create+0x297/0x540 fs/namei.c:3980  do_symlinkat+0xf9/0x3a0 fs/namei.c:4587  __do_sys_symlinkat fs/namei.c:4610 [inline]  __se_sys_symlinkat fs/namei.c:4607 [inline]  __x64_sys_symlinkat+0x95/0xb0 fs/namei.c:4607  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f3e73ced469 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 21 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fff4d40c258 EFLAGS: 00000246 ORIG_RAX: 000000000000010a RAX: ffffffffffffffda RBX: 0032656c69662f2e RCX: 00007f3e73ced469 RDX: 0000000020000200 RSI: 00000000ffffff9c RDI: 00000000200001c0 RBP: 0000000000000000 R08: 00007fff4d40c290 R09: 00007fff4d40c290 R10: 0023706f6f6c2f76 R11: 0000000000000246 R12: 00007fff4d40c27c R13: 0000000000000003 R14: 431bde82d7b634db R15: 00007fff4d40c2b0  </TASK>  Calling ext4_xattr_ibody_find right after reading the inode with ext4_get_inode_loc will lead to a check of the validity of the xattrs, avoiding this problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49851",
                                "url": "https://ubuntu.com/security/CVE-2024-49851",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Clean up TPM space after command failure  tpm_dev_transmit prepares the TPM space before attempting command transmission. However if the command fails no rollback of this preparation is done. This can result in transient handles being leaked if the device is subsequently closed with no further commands performed.  Fix this by flushing the space in the event of command transmission failure.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47723",
                                "url": "https://ubuntu.com/security/CVE-2024-47723",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: fix out-of-bounds in dbNextAG() and diAlloc()  In dbNextAG() , there is no check for the case where bmp->db_numag is greater or same than MAXAG due to a polluted image, which causes an out-of-bounds. Therefore, a bounds check should be added in dbMount().  And in dbNextAG(), a check for the case where agpref is greater than bmp->db_numag should be added, so an out-of-bounds exception should be prevented.  Additionally, a check for the case where agno is greater or same than MAXAG should be added in diAlloc() to prevent out-of-bounds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47706",
                                "url": "https://ubuntu.com/security/CVE-2024-47706",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block, bfq: fix possible UAF for bfqq->bic with merge chain  1) initial state, three tasks:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t\t  |  ?            |  ?\t\t  |  ? \t\t  |  |            |  |\t\t  |  | \t\t  V  |            V  |\t\t  V  | \t\t  bfqq1           bfqq2\t\t  bfqq3 process ref:\t   1\t\t    1\t\t    1  2) bfqq1 merged to bfqq2:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t\t  |               |\t\t  |  ? \t\t  \\--------------\\|\t\t  |  | \t\t                  V\t\t  V  | \t\t  bfqq1--------->bfqq2\t\t  bfqq3 process ref:\t   0\t\t    2\t\t    1  3) bfqq2 merged to bfqq3:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t here -> ?                |\t\t  | \t\t  \\--------------\\ \\-------------\\| \t\t                  V\t\t  V \t\t  bfqq1--------->bfqq2---------->bfqq3 process ref:\t   0\t\t    1\t\t    3  In this case, IO from Process 1 will get bfqq2 from BIC1 first, and then get bfqq3 through merge chain, and finially handle IO by bfqq3. Howerver, current code will think bfqq2 is owned by BIC1, like initial state, and set bfqq2->bic to BIC1.  bfq_insert_request -> by Process 1  bfqq = bfq_init_rq(rq)   bfqq = bfq_get_bfqq_handle_split    bfqq = bic_to_bfqq    -> get bfqq2 from BIC1  bfqq->ref++  rq->elv.priv[0] = bic  rq->elv.priv[1] = bfqq  if (bfqq_process_refs(bfqq) == 1)   bfqq->bic = bic   -> record BIC1 to bfqq2    __bfq_insert_request    new_bfqq = bfq_setup_cooperator    -> get bfqq3 from bfqq2->new_bfqq    bfqq_request_freed(bfqq)    new_bfqq->ref++    rq->elv.priv[1] = new_bfqq    -> handle IO by bfqq3  Fix the problem by checking bfqq is from merge chain fist. And this might fix a following problem reported by our syzkaller(unreproducible):  ================================================================== BUG: KASAN: slab-use-after-free in bfq_do_early_stable_merge block/bfq-iosched.c:5692 [inline] BUG: KASAN: slab-use-after-free in bfq_do_or_sched_stable_merge block/bfq-iosched.c:5805 [inline] BUG: KASAN: slab-use-after-free in bfq_get_queue+0x25b0/0x2610 block/bfq-iosched.c:5889 Write of size 1 at addr ffff888123839eb8 by task kworker/0:1H/18595  CPU: 0 PID: 18595 Comm: kworker/0:1H Tainted: G             L    6.6.0-07439-gba2303cacfda #6 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 Workqueue: kblockd blk_mq_requeue_work Call Trace:  <TASK>  __dump_stack lib/dump_stack.c:88 [inline]  dump_stack_lvl+0x91/0xf0 lib/dump_stack.c:106  print_address_description mm/kasan/report.c:364 [inline]  print_report+0x10d/0x610 mm/kasan/report.c:475  kasan_report+0x8e/0xc0 mm/kasan/report.c:588  bfq_do_early_stable_merge block/bfq-iosched.c:5692 [inline]  bfq_do_or_sched_stable_merge block/bfq-iosched.c:5805 [inline]  bfq_get_queue+0x25b0/0x2610 block/bfq-iosched.c:5889  bfq_get_bfqq_handle_split+0x169/0x5d0 block/bfq-iosched.c:6757  bfq_init_rq block/bfq-iosched.c:6876 [inline]  bfq_insert_request block/bfq-iosched.c:6254 [inline]  bfq_insert_requests+0x1112/0x5cf0 block/bfq-iosched.c:6304  blk_mq_insert_request+0x290/0x8d0 block/blk-mq.c:2593  blk_mq_requeue_work+0x6bc/0xa70 block/blk-mq.c:1502  process_one_work kernel/workqueue.c:2627 [inline]  process_scheduled_works+0x432/0x13f0 kernel/workqueue.c:2700  worker_thread+0x6f2/0x1160 kernel/workqueue.c:2781  kthread+0x33c/0x440 kernel/kthread.c:388  ret_from_fork+0x4d/0x80 arch/x86/kernel/process.c:147  ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:305  </TASK>  Allocated by task 20776:  kasan_save_stack+0x20/0x40 mm/kasan/common.c:45  kasan_set_track+0x25/0x30 mm/kasan/common.c:52  __kasan_slab_alloc+0x87/0x90 mm/kasan/common.c:328  kasan_slab_alloc include/linux/kasan.h:188 [inline]  slab_post_alloc_hook mm/slab.h:763 [inline]  slab_alloc_node mm/slub.c:3458 [inline]  kmem_cache_alloc_node+0x1a4/0x6f0 mm/slub.c:3503  ioc_create_icq block/blk-ioc.c:370 [inline] ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47709",
                                "url": "https://ubuntu.com/security/CVE-2024-47709",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  can: bcm: Clear bo->bcm_proc_read after remove_proc_entry().  syzbot reported a warning in bcm_release(). [0]  The blamed change fixed another warning that is triggered when connect() is issued again for a socket whose connect()ed device has been unregistered.  However, if the socket is just close()d without the 2nd connect(), the remaining bo->bcm_proc_read triggers unnecessary remove_proc_entry() in bcm_release().  Let's clear bo->bcm_proc_read after remove_proc_entry() in bcm_notify().  [0] name '4986' WARNING: CPU: 0 PID: 5234 at fs/proc/generic.c:711 remove_proc_entry+0x2e7/0x5d0 fs/proc/generic.c:711 Modules linked in: CPU: 0 UID: 0 PID: 5234 Comm: syz-executor606 Not tainted 6.11.0-rc5-syzkaller-00178-g5517ae241919 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 RIP: 0010:remove_proc_entry+0x2e7/0x5d0 fs/proc/generic.c:711 Code: ff eb 05 e8 cb 1e 5e ff 48 8b 5c 24 10 48 c7 c7 e0 f7 aa 8e e8 2a 38 8e 09 90 48 c7 c7 60 3a 1b 8c 48 89 de e8 da 42 20 ff 90 <0f> 0b 90 90 48 8b 44 24 18 48 c7 44 24 40 0e 36 e0 45 49 c7 04 07 RSP: 0018:ffffc9000345fa20 EFLAGS: 00010246 RAX: 2a2d0aee2eb64600 RBX: ffff888032f1f548 RCX: ffff888029431e00 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffc9000345fb08 R08: ffffffff8155b2f2 R09: 1ffff1101710519a R10: dffffc0000000000 R11: ffffed101710519b R12: ffff888011d38640 R13: 0000000000000004 R14: 0000000000000000 R15: dffffc0000000000 FS:  0000000000000000(0000) GS:ffff8880b8800000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fcfb52722f0 CR3: 000000000e734000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  bcm_release+0x250/0x880 net/can/bcm.c:1578  __sock_release net/socket.c:659 [inline]  sock_close+0xbc/0x240 net/socket.c:1421  __fput+0x24a/0x8a0 fs/file_table.c:422  task_work_run+0x24f/0x310 kernel/task_work.c:228  exit_task_work include/linux/task_work.h:40 [inline]  do_exit+0xa2f/0x27f0 kernel/exit.c:882  do_group_exit+0x207/0x2c0 kernel/exit.c:1031  __do_sys_exit_group kernel/exit.c:1042 [inline]  __se_sys_exit_group kernel/exit.c:1040 [inline]  __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1040  x64_sys_call+0x2634/0x2640 arch/x86/include/generated/asm/syscalls_64.h:232  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fcfb51ee969 Code: Unable to access opcode bytes at 0x7fcfb51ee93f. RSP: 002b:00007ffce0109ca8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7 RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007fcfb51ee969 RDX: 000000000000003c RSI: 00000000000000e7 RDI: 0000000000000001 RBP: 00007fcfb526f3b0 R08: ffffffffffffffb8 R09: 0000555500000000 R10: 0000555500000000 R11: 0000000000000246 R12: 00007fcfb526f3b0 R13: 0000000000000000 R14: 00007fcfb5271ee0 R15: 00007fcfb51bf160  </TASK>",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47710",
                                "url": "https://ubuntu.com/security/CVE-2024-47710",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sock_map: Add a cond_resched() in sock_hash_free()  Several syzbot soft lockup reports all have in common sock_hash_free()  If a map with a large number of buckets is destroyed, we need to yield the cpu when needed.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47712",
                                "url": "https://ubuntu.com/security/CVE-2024-47712",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: wilc1000: fix potential RCU dereference issue in wilc_parse_join_bss_param  In the `wilc_parse_join_bss_param` function, the TSF field of the `ies` structure is accessed after the RCU read-side critical section is unlocked. According to RCU usage rules, this is illegal. Reusing this pointer can lead to unpredictable behavior, including accessing memory that has been updated or causing use-after-free issues.  This possible bug was identified using a static analysis tool developed by myself, specifically designed to detect RCU-related issues.  To address this, the TSF value is now stored in a local variable `ies_tsf` before the RCU lock is released. The `param->tsf_lo` field is then assigned using this local variable, ensuring that the TSF value is safely accessed.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47713",
                                "url": "https://ubuntu.com/security/CVE-2024-47713",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()  Since '__dev_queue_xmit()' should be called with interrupts enabled, the following backtrace:  ieee80211_do_stop()  ...  spin_lock_irqsave(&local->queue_stop_reason_lock, flags)  ...  ieee80211_free_txskb()   ieee80211_report_used_skb()    ieee80211_report_ack_skb()     cfg80211_mgmt_tx_status_ext()      nl80211_frame_tx_status()       genlmsg_multicast_netns()        genlmsg_multicast_netns_filtered()         nlmsg_multicast_filtered() \t netlink_broadcast_filtered() \t  do_one_broadcast() \t   netlink_broadcast_deliver() \t    __netlink_sendskb() \t     netlink_deliver_tap() \t      __netlink_deliver_tap_skb() \t       dev_queue_xmit() \t        __dev_queue_xmit() ; with IRQS disabled  ...  spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags)  issues the warning (as reported by syzbot reproducer):  WARNING: CPU: 2 PID: 5128 at kernel/softirq.c:362 __local_bh_enable_ip+0xc3/0x120  Fix this by implementing a two-phase skb reclamation in 'ieee80211_do_stop()', where actual work is performed outside of a section with interrupts disabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47671",
                                "url": "https://ubuntu.com/security/CVE-2024-47671",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  USB: usbtmc: prevent kernel-usb-infoleak  The syzbot reported a kernel-usb-infoleak in usbtmc_write, we need to clear the structure before filling fields.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-09 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-44931",
                                "url": "https://ubuntu.com/security/CVE-2024-44931",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gpio: prevent potential speculation leaks in gpio_device_get_desc()  Userspace may trigger a speculative read of an address outside the gpio descriptor array. Users can do that by calling gpio_ioctl() with an offset out of range. Offset is copied from user and then used as an array index to get the gpio descriptor without sanitization in gpio_device_get_desc().  This change ensures that the offset is sanitized by using array_index_nospec() to mitigate any possibility of speculative information leaks.  This bug was discovered and resolved using Coverity Static Analysis Security Testing (SAST) by Synopsys, Inc.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-08-26 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-41016",
                                "url": "https://ubuntu.com/security/CVE-2024-41016",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry()  xattr in ocfs2 maybe 'non-indexed', which saved with additional space requested.  It's better to check if the memory is out of bound before memcmp, although this possibility mainly comes from crafted poisonous images.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-29 07:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47670",
                                "url": "https://ubuntu.com/security/CVE-2024-47670",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: add bounds checking to ocfs2_xattr_find_entry()  Add a paranoia check to make sure it doesn't stray beyond valid memory region containing ocfs2 xattr entries when scanning for a match.  It will prevent out-of-bound access in case of crafted images.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-09 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47672",
                                "url": "https://ubuntu.com/security/CVE-2024-47672",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead  There is a WARNING in iwl_trans_wait_tx_queues_empty() (that was recently converted from just a message), that can be hit if we wait for TX queues to become empty after firmware died. Clearly, we can't expect anything from the firmware after it's declared dead.  Don't call iwl_trans_wait_tx_queues_empty() in this case. While it could be a good idea to stop the flow earlier, the flush functions do some maintenance work that is not related to the firmware, so keep that part of the code running even when the firmware is not running.  [edit commit message]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-09 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-46853",
                                "url": "https://ubuntu.com/security/CVE-2024-46853",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: nxp-fspi: fix the KASAN report out-of-bounds bug  Change the memcpy length to fix the out-of-bounds issue when writing the data that is not 4 byte aligned to TX FIFO.  To reproduce the issue, write 3 bytes data to NOR chip.  dd if=3b of=/dev/mtd0 [   36.926103] ================================================================== [   36.933409] BUG: KASAN: slab-out-of-bounds in nxp_fspi_exec_op+0x26ec/0x2838 [   36.940514] Read of size 4 at addr ffff00081037c2a0 by task dd/455 [   36.946721] [   36.948235] CPU: 3 UID: 0 PID: 455 Comm: dd Not tainted 6.11.0-rc5-gc7b0e37c8434 #1070 [   36.956185] Hardware name: Freescale i.MX8QM MEK (DT) [   36.961260] Call trace: [   36.963723]  dump_backtrace+0x90/0xe8 [   36.967414]  show_stack+0x18/0x24 [   36.970749]  dump_stack_lvl+0x78/0x90 [   36.974451]  print_report+0x114/0x5cc [   36.978151]  kasan_report+0xa4/0xf0 [   36.981670]  __asan_report_load_n_noabort+0x1c/0x28 [   36.986587]  nxp_fspi_exec_op+0x26ec/0x2838 [   36.990800]  spi_mem_exec_op+0x8ec/0xd30 [   36.994762]  spi_mem_no_dirmap_read+0x190/0x1e0 [   36.999323]  spi_mem_dirmap_write+0x238/0x32c [   37.003710]  spi_nor_write_data+0x220/0x374 [   37.007932]  spi_nor_write+0x110/0x2e8 [   37.011711]  mtd_write_oob_std+0x154/0x1f0 [   37.015838]  mtd_write_oob+0x104/0x1d0 [   37.019617]  mtd_write+0xb8/0x12c [   37.022953]  mtdchar_write+0x224/0x47c [   37.026732]  vfs_write+0x1e4/0x8c8 [   37.030163]  ksys_write+0xec/0x1d0 [   37.033586]  __arm64_sys_write+0x6c/0x9c [   37.037539]  invoke_syscall+0x6c/0x258 [   37.041327]  el0_svc_common.constprop.0+0x160/0x22c [   37.046244]  do_el0_svc+0x44/0x5c [   37.049589]  el0_svc+0x38/0x78 [   37.052681]  el0t_64_sync_handler+0x13c/0x158 [   37.057077]  el0t_64_sync+0x190/0x194 [   37.060775] [   37.062274] Allocated by task 455: [   37.065701]  kasan_save_stack+0x2c/0x54 [   37.069570]  kasan_save_track+0x20/0x3c [   37.073438]  kasan_save_alloc_info+0x40/0x54 [   37.077736]  __kasan_kmalloc+0xa0/0xb8 [   37.081515]  __kmalloc_noprof+0x158/0x2f8 [   37.085563]  mtd_kmalloc_up_to+0x120/0x154 [   37.089690]  mtdchar_write+0x130/0x47c [   37.093469]  vfs_write+0x1e4/0x8c8 [   37.096901]  ksys_write+0xec/0x1d0 [   37.100332]  __arm64_sys_write+0x6c/0x9c [   37.104287]  invoke_syscall+0x6c/0x258 [   37.108064]  el0_svc_common.constprop.0+0x160/0x22c [   37.112972]  do_el0_svc+0x44/0x5c [   37.116319]  el0_svc+0x38/0x78 [   37.119401]  el0t_64_sync_handler+0x13c/0x158 [   37.123788]  el0t_64_sync+0x190/0x194 [   37.127474] [   37.128977] The buggy address belongs to the object at ffff00081037c2a0 [   37.128977]  which belongs to the cache kmalloc-8 of size 8 [   37.141177] The buggy address is located 0 bytes inside of [   37.141177]  allocated 3-byte region [ffff00081037c2a0, ffff00081037c2a3) [   37.153465] [   37.154971] The buggy address belongs to the physical page: [   37.160559] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x89037c [   37.168596] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff) [   37.175149] page_type: 0xfdffffff(slab) [   37.179021] raw: 0bfffe0000000000 ffff000800002500 dead000000000122 0000000000000000 [   37.186788] raw: 0000000000000000 0000000080800080 00000001fdffffff 0000000000000000 [   37.194553] page dumped because: kasan: bad access detected [   37.200144] [   37.201647] Memory state around the buggy address: [   37.206460]  ffff00081037c180: fa fc fc fc fa fc fc fc fa fc fc fc fa fc fc fc [   37.213701]  ffff00081037c200: fa fc fc fc 05 fc fc fc 03 fc fc fc 02 fc fc fc [   37.220946] >ffff00081037c280: 06 fc fc fc 03 fc fc fc fc fc fc fc fc fc fc fc [   37.228186]                                ^ [   37.232473]  ffff00081037c300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [   37.239718]  ffff00081037c380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [   37.246962] ============================================================== ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-09-27 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-46854",
                                "url": "https://ubuntu.com/security/CVE-2024-46854",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: dpaa: Pad packets to ETH_ZLEN  When sending packets under 60 bytes, up to three bytes of the buffer following the data may be leaked. Avoid this by extending all packets to ETH_ZLEN, ensuring nothing is leaked in the padding. This bug can be reproduced by running  \t$ ping -s 11 destination",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-09-27 13:15:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * focal/linux-kvm: 5.4.0-1127.136 -proposed tracker (LP: #2093775)",
                            "",
                            "  * Add list of source files to linux-buildinfo (LP: #2086606)",
                            "    - [Packaging] kvm: Add dwarfdump dependency",
                            "",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233)",
                            "    - [Config] kvm: updateconfigs to select PROC_MEM_ALWAYS_FORCE",
                            "",
                            "  [ Ubuntu: 5.4.0-207.227 ]",
                            "",
                            "  * focal/linux: 5.4.0-207.227 -proposed tracker (LP: #2095347)",
                            "  * Remove \"ftrace: Fix possible use-after-free issue in ftrace_location()\" bad",
                            "    commit from focal (LP: #2095348)",
                            "    - Revert \"ftrace: Fix possible use-after-free issue in ftrace_location()\"",
                            "",
                            "  [ Ubuntu: 5.4.0-206.226 ]",
                            "",
                            "  * focal/linux: 5.4.0-206.226 -proposed tracker (LP: #2093785)",
                            "  * nouveau keeps showing `disp: ctrl 00000080` and crippling the system",
                            "    (LP: #2078011)",
                            "    - drm/nouveau/disp/gv100-: halt NV_PDISP_FE_RM_INTR_STAT_CTRL_DISP_ERROR",
                            "      storms",
                            "    - drm/nouveau/kms/gv100-: move window ownership setup into modesetting path",
                            "    - drm/nouveau/kms/gv100-: avoid sending a core update until the first modeset",
                            "  * CVE-2024-43863",
                            "    - drm/vmwgfx: Fix a deadlock in dma buf fence polling",
                            "  * CVE-2024-40911",
                            "    - wifi: cfg80211: Lock wiphy in cfg80211_get_station",
                            "  * CVE-2024-35896",
                            "    - netfilter: validate user input for expected length",
                            "    - netfilter: complete validation of user input",
                            "  * CVE-2023-52458",
                            "    - block: add check that partition length needs to be aligned with block size",
                            "  * kernel:nft \"Could not process rule: Device or resource busy\" on unreferenced",
                            "    chain (LP: #2089699)",
                            "    - SAUCE: netfilter: nf_tables: Fix EBUSY on deleting unreferenced chain",
                            "  * CVE-2024-35887",
                            "    - lockdep: Add preemption enabled/disabled assertion APIs",
                            "    - timers: Don't block on ->expiry_lock for TIMER_IRQSAFE timers",
                            "    - Documentation: Remove bogus claim about del_timer_sync()",
                            "    - ARM: spear: Do not use timer namespace for timer_shutdown() function",
                            "    - clocksource/drivers/arm_arch_timer: Do not use timer namespace for",
                            "      timer_shutdown() function",
                            "    - clocksource/drivers/sp804: Do not use timer namespace for timer_shutdown()",
                            "      function",
                            "    - timers: Get rid of del_singleshot_timer_sync()",
                            "    - timers: Replace BUG_ON()s",
                            "    - timers: Rename del_timer() to timer_delete()",
                            "    - Documentation: Replace del_timer/del_timer_sync()",
                            "    - timers: Silently ignore timers with a NULL function",
                            "    - timers: Split [try_to_]del_timer[_sync]() to prepare for shutdown mode",
                            "    - timers: Add shutdown mechanism to the internal functions",
                            "    - timers: Provide timer_shutdown[_sync]()",
                            "    - timers: Update the documentation to reflect on the new timer_shutdown() API",
                            "    - ax25: fix use-after-free bugs caused by ax25_ds_del_timer",
                            "  * CVE-2024-40965",
                            "    - clk: Add a devm variant of clk_rate_exclusive_get()",
                            "    - clk: Provide !COMMON_CLK dummy for devm_clk_rate_exclusive_get()",
                            "    - i2c: lpi2c: Avoid calling clk_get_rate during transfer",
                            "  * CVE-2024-40982",
                            "    - ssb: Fix potential NULL pointer dereference in ssb_device_uevent()",
                            "  * CVE-2024-41066",
                            "    - ibmvnic: Add tx check to prevent skb leak",
                            "  * CVE-2024-42252",
                            "    - closures: Change BUG_ON() to WARN_ON()",
                            "  * CVE-2024-46731",
                            "    - drm/amd/pm: fix the Out-of-bounds read warning",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558)",
                            "    - arm64: dts: rockchip: Fix rt5651 compatible value on rk3399-sapphire-",
                            "      excavator",
                            "    - arm64: dts: rockchip: Remove hdmi's 2nd interrupt on rk3328",
                            "    - arm64: dts: rockchip: Fix bluetooth properties on Rock960 boards",
                            "    - arm64: dts: rockchip: Remove #cooling-cells from fan on Theobroma lion",
                            "    - ARM: dts: rockchip: fix rk3036 acodec node",
                            "    - ARM: dts: rockchip: drop grf reference from rk3036 hdmi",
                            "    - ARM: dts: rockchip: Fix the spi controller on rk3036",
                            "    - ARM: dts: rockchip: Fix the realtek audio codec on rk3036-kylin",
                            "    - enetc: simplify the return expression of enetc_vf_set_mac_addr()",
                            "    - net: enetc: set MAC address to the VF net_device",
                            "    - can: c_can: fix {rx,tx}_errors statistics",
                            "    - media: stb0899_algo: initialize cfr before using it",
                            "    - media: dvb_frontend: don't play tricks with underflow values",
                            "    - media: adv7604: prevent underflow condition when reporting colorspace",
                            "    - ALSA: firewire-lib: fix return value on fail in amdtp_tscm_init()",
                            "    - pwm: imx-tpm: Use correct MODULO value for EPWM mode",
                            "    - drm/amdgpu: prevent NULL pointer dereference if ATIF is not supported",
                            "    - dm cache: correct the number of origin blocks to match the target length",
                            "    - dm cache: optimize dirty bit checking with find_next_bit when resizing",
                            "    - dm-unstriped: cast an operand to sector_t to prevent potential uint32_t",
                            "      overflow",
                            "    - mtd: rawnand: protect access to rawnand devices while in suspend",
                            "    - spi: fix use-after-free of the add_lock mutex",
                            "    - media: uvcvideo: Skip parsing frames of type UVC_VS_UNDEFINED in",
                            "      uvc_parse_format",
                            "    - fs/proc: fix compile warning about variable 'vmcore_mmap_ops'",
                            "    - USB: serial: qcserial: add support for Sierra Wireless EM86xx",
                            "    - USB: serial: option: add Fibocom FG132 0x0112 composition",
                            "    - USB: serial: option: add Quectel RG650V",
                            "    - irqchip/gic-v3: Force propagation of the active state with a read-back",
                            "    - ALSA: usb-audio: Support jack detection on Dell dock",
                            "    - ALSA: usb-audio: Add quirks for Dell WD19 dock",
                            "    - NFSD: Fix NFSv4's PUTPUBFH operation",
                            "    - ALSA: usb-audio: Add endianness annotations",
                            "    - 9p: Avoid creating multiple slab caches with the same name",
                            "    - HID: multitouch: Add quirk for HONOR MagicBook Art 14 touchpad",
                            "    - bpf: use kvzmalloc to allocate BPF verifier environment",
                            "    - sound: Make CONFIG_SND depend on INDIRECT_IOMEM instead of UML",
                            "    - powerpc/powernv: Free name on error in opal_event_init()",
                            "    - fs: Fix uninitialized value issue in from_kuid and from_kgid",
                            "    - net: usb: qmi_wwan: add Fibocom FG132 0x0112 composition",
                            "    - md/raid10: improve code of mrdev in raid10_sync_request",
                            "    - mm: clarify a confusing comment for remap_pfn_range()",
                            "    - mm: fix ambiguous comments for better code readability",
                            "    - mm/memory.c: make remap_pfn_range() reject unaligned addr",
                            "    - mm: add remap_pfn_range_notrack",
                            "    - 9p: fix slab cache name creation for real",
                            "    - Linux 5.4.286",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-47674",
                            "    - mm: avoid leaving partial pfn mappings around in error case",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-38588",
                            "    - ftrace: Fix possible use-after-free issue in ftrace_location()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50265",
                            "    - ocfs2: remove entry once instead of null-ptr-dereference in",
                            "      ocfs2_xa_remove()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50267",
                            "    - USB: serial: io_edgeport: fix use after free in debug printk",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50269",
                            "    - usb: musb: sunxi: Fix accessing an released usb phy",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2021-47469",
                            "    - spi: Fix deadlock when adding SPI controllers on SPI buses",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50273",
                            "    - btrfs: reinitialize delayed ref list after deleting it from the list",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-53066",
                            "    - nfs: Fix KMSAN warning in decode_getfattr_attrs()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50278",
                            "    - dm cache: fix potential out-of-bounds access on the first resume",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50279",
                            "    - dm cache: fix out-of-bounds access to the dirty bitset when resizing",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50282",
                            "    - drm/amdgpu: add missing size check in amdgpu_debugfs_gprwave_read()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50287",
                            "    - media: v4l2-tpg: prevent the risk of a division by zero",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50290",
                            "    - media: cx24116: prevent overflows on SNR calculus",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-53061",
                            "    - media: s5p-jpeg: prevent buffer overflows",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-53063",
                            "    - media: dvbdev: prevent the risk of out of memory access",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50296",
                            "    - net: hns3: fix kernel crash when uninstalling driver",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50299",
                            "    - sctp: properly validate chunk size in sctp_sf_ootb()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50301",
                            "    - security/keys: fix slab-out-of-bounds in key_task_permission",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50302",
                            "    - HID: core: zero-initialize the report buffer",
                            "  * Add list of source files to linux-buildinfo (LP: #2086606)",
                            "    - [Packaging] Sort build dependencies alphabetically",
                            "    - [Packaging] Add list of used source files to buildinfo package",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233)",
                            "    - usbnet: ipheth: fix carrier detection in modes 1 and 4",
                            "    - net: ethernet: use ip_hdrlen() instead of bit shift",
                            "    - net: phy: vitesse: repair vsc73xx autonegotiation",
                            "    - scripts: kconfig: merge_config: config files: add a trailing newline",
                            "    - arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399",
                            "      Puma",
                            "    - ice: fix accounting for filters shared by multiple VSIs",
                            "    - net/mlx5e: Add missing link modes to ptys2ethtool_map",
                            "    - net: ftgmac100: Enable TX interrupt to avoid TX timeout",
                            "    - soundwire: stream: Revert \"soundwire: stream: fix programming slave ports",
                            "      for non-continous port maps\"",
                            "    - selftests: breakpoints: Fix a typo of function name",
                            "    - ASoC: allow module autoloading for table db1200_pids",
                            "    - ALSA: hda/realtek - Fixed ALC256 headphone no sound",
                            "    - ALSA: hda/realtek - FIxed ALC285 headphone no sound",
                            "    - pinctrl: at91: make it work with current gpiolib",
                            "    - microblaze: don't treat zero reserved memory regions as error",
                            "    - net: ftgmac100: Ensure tx descriptor updates are visible",
                            "    - wifi: iwlwifi: mvm: fix iwl_mvm_max_scan_ie_fw_cmd_room()",
                            "    - ASoC: tda7419: fix module autoloading",
                            "    - drm: komeda: Fix an issue related to normalized zpos",
                            "    - spi: bcm63xx: Enable module autoloading",
                            "    - x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency",
                            "    - USB: serial: pl2303: add device id for Macrosilicon MS3020",
                            "    - ACPI: PMIC: Remove unneeded check in tps68470_pmic_opregion_probe()",
                            "    - wifi: ath9k: fix parameter check in ath9k_init_debug()",
                            "    - wifi: ath9k: Remove error checks when creating debugfs entries",
                            "    - fs: explicitly unregister per-superblock BDIs",
                            "    - mount: warn only once about timestamp range expiration",
                            "    - fs/namespace: fnic: Switch to use %ptTd",
                            "    - mount: handle OOM on mnt_warn_timestamp_expiry",
                            "    - can: j1939: use correct function name in comment",
                            "    - netfilter: nf_tables: elements with timeout below CONFIG_HZ never expire",
                            "    - netfilter: nf_tables: reject element expiration with no timeout",
                            "    - netfilter: nf_tables: reject expiration higher than timeout",
                            "    - wifi: cfg80211: fix UBSAN noise in cfg80211_wext_siwscan()",
                            "    - wifi: cfg80211: fix two more possible UBSAN-detected off-by-one errors",
                            "    - mac80211: parse radiotap header when selecting Tx queue",
                            "    - Bluetooth: btusb: Fix not handling ZPL/short-transfer",
                            "    - net: tipc: avoid possible garbage value",
                            "    - block, bfq: choose the last bfqq from merge chain in bfq_setup_cooperator()",
                            "    - block, bfq: don't break merge chain in bfq_split_bfqq()",
                            "    - spi: ppc4xx: handle irq_of_parse_and_map() errors",
                            "    - spi: ppc4xx: Avoid returning 0 when failed to parse and map IRQ",
                            "    - ARM: dts: imx7d-zii-rmu2: fix Ethernet PHY pinctrl property",
                            "    - ARM: versatile: fix OF node leak in CPUs prepare",
                            "    - reset: berlin: fix OF node leak in probe() error path",
                            "    - clocksource/drivers/qcom: Add missing iounmap() on errors in",
                            "      msm_dt_timer_init()",
                            "    - hwmon: (max16065) Fix overflows seen when writing limits",
                            "    - mtd: slram: insert break after errors in parsing the map",
                            "    - hwmon: (ntc_thermistor) fix module autoloading",
                            "    - power: supply: axp20x_battery: allow disabling battery charging",
                            "    - power: supply: axp20x_battery: Remove design from min and max voltage",
                            "    - power: supply: max17042_battery: Fix SOC threshold calc w/ no current sense",
                            "    - fbdev: hpfb: Fix an error handling path in hpfb_dio_probe()",
                            "    - mtd: powernv: Add check devm_kasprintf() returned value",
                            "    - drm/stm: Fix an error handling path in stm_drm_platform_probe()",
                            "    - drm/amdgpu: Replace one-element array with flexible-array member",
                            "    - drm/amdgpu: properly handle vbios fake edid sizing",
                            "    - drm/radeon: Replace one-element array with flexible-array member",
                            "    - drm/radeon: properly handle vbios fake edid sizing",
                            "    - drm/rockchip: vop: Allow 4096px width scaling",
                            "    - drm/rockchip: dw_hdmi: Fix reading EDID when using a forced mode",
                            "    - drm/radeon/evergreen_cs: fix int overflow errors in cs track offsets",
                            "    - drm/msm: Fix incorrect file name output in adreno_request_fw()",
                            "    - drm/msm/a5xx: disable preemption in submits by default",
                            "    - drm/msm/a5xx: properly clear preemption records on resume",
                            "    - drm/msm/a5xx: fix races in preemption evaluation stage",
                            "    - ipmi: docs: don't advertise deprecated sysfs entries",
                            "    - drm/msm: fix %s null argument error",
                            "    - drivers:drm:exynos_drm_gsc:Fix wrong assignment in gsc_bind()",
                            "    - xen: use correct end address of kernel for conflict checking",
                            "    - xen/swiotlb: add alignment check for dma buffers",
                            "    - selftests/bpf: Fix compile error from rlim_t in sk_storage_map.c",
                            "    - selftests/bpf: Fix compiling flow_dissector.c with musl-libc",
                            "    - selftests/bpf: Fix compiling tcp_rtt.c with musl-libc",
                            "    - selftests/bpf: Fix error compiling test_lru_map.c",
                            "    - xz: cleanup CRC32 edits from 2018",
                            "    - kthread: add kthread_work tracepoints",
                            "    - kthread: fix task state in kthread worker if being frozen",
                            "    - ext4: clear EXT4_GROUP_INFO_WAS_TRIMMED_BIT even mount with discard",
                            "    - smackfs: Use rcu_assign_pointer() to ensure safe assignment in smk_set_cipso",
                            "    - ext4: avoid negative min_clusters in find_group_orlov()",
                            "    - ext4: return error on ext4_find_inline_entry",
                            "    - nilfs2: determine empty node blocks as corrupted",
                            "    - bpf: Fix bpf_strtol and bpf_strtoul helpers for 32bit",
                            "    - perf sched timehist: Fix missing free of session in perf_sched__timehist()",
                            "    - perf sched timehist: Fixed timestamp error when unable to confirm event",
                            "      sched_in time",
                            "    - perf time-utils: Fix 32-bit nsec parsing",
                            "    - clk: rockchip: Set parent rate for DCLK_VOP clock on RK3228",
                            "    - PCI: xilinx-nwl: Fix register misspelling",
                            "    - pinctrl: single: fix missing error code in pcs_probe()",
                            "    - clk: ti: dra7-atl: Fix leak of of_nodes",
                            "    - pinctrl: mvebu: Fix devinit_dove_pinctrl_probe function",
                            "    - watchdog: imx_sc_wdt: Don't disable WDT in suspend",
                            "    - RDMA/hns: Optimize hem allocation performance",
                            "    - riscv: Fix fp alignment bug in perf_callchain_user()",
                            "    - f2fs: enhance to update i_mode and acl atomically in f2fs_setattr()",
                            "    - f2fs: fix typo",
                            "    - f2fs: fix to update i_ctime in __f2fs_setxattr()",
                            "    - f2fs: remove unneeded check condition in __f2fs_setxattr()",
                            "    - f2fs: reduce expensive checkpoint trigger frequency",
                            "    - iio: adc: ad7606: fix oversampling gpio array",
                            "    - iio: adc: ad7606: fix standby gpio state to match the documentation",
                            "    - coresight: tmc: sg: Do not leak sg_table",
                            "    - net: qrtr: Update packets cloning when broadcasting",
                            "    - netfilter: ctnetlink: compile ctnetlink_label_size with",
                            "      CONFIG_NF_CONNTRACK_EVENTS",
                            "    - Remove *.orig pattern from .gitignore",
                            "    - soc: versatile: integrator: fix OF node leak in probe() error path",
                            "    - drm/amd/display: Round calculated vtotal",
                            "    - USB: appledisplay: close race between probe and completion handler",
                            "    - USB: misc: cypress_cy7c63: check for short transfer",
                            "    - USB: class: CDC-ACM: fix race between get_serial and set_serial",
                            "    - tty: rp2: Fix reset with non forgiving PCIe host bridges",
                            "    - drbd: Fix atomicity violation in drbd_uuid_set_bm()",
                            "    - drbd: Add NULL check for net_conf to prevent dereference in state validation",
                            "    - ACPI: resource: Add another DMI match for the TongFang GMxXGxx",
                            "    - wifi: rtw88: 8822c: Fix reported RX band width",
                            "    - debugobjects: Fix conditions in fill_pool()",
                            "    - f2fs: prevent possible int overflow in dir_block_index()",
                            "    - f2fs: avoid potential int overflow in sanity_check_area_boundary()",
                            "    - hwrng: mtk - Use devm_pm_runtime_enable",
                            "    - fs: Fix file_set_fowner LSM hook inconsistencies",
                            "    - nfs: fix memory leak in error path of nfs4_do_reclaim",
                            "    - ASoC: meson: axg: extract sound card utils",
                            "    - [Config] updateconfigs for SND_MESON_CARD_UTILS",
                            "    - PCI: xilinx-nwl: Use irq_data_get_irq_chip_data()",
                            "    - PCI: xilinx-nwl: Fix off-by-one in INTx IRQ handler",
                            "    - soc: versatile: realview: fix memory leak during device remove",
                            "    - soc: versatile: realview: fix soc_dev leak during device remove",
                            "    - usb: yurex: Replace snprintf() with the safer scnprintf() variant",
                            "    - USB: misc: yurex: fix race between read and write",
                            "    - pps: remove usage of the deprecated ida_simple_xx() API",
                            "    - pps: add an error check in parport_attach",
                            "    - mm: only enforce minimum stack gap size if it's sensible",
                            "    - i2c: aspeed: Update the stop sw state when the bus recovery occurs",
                            "    - i2c: isch: Add missed 'else'",
                            "    - usb: yurex: Fix inconsistent locking bug in yurex_read()",
                            "    - mailbox: rockchip: fix a typo in module autoloading",
                            "    - Minor fixes to the CAIF Transport drivers Kconfig file",
                            "    - drivers: net: Fix Kconfig indentation, continued",
                            "    - ieee802154: Fix build error",
                            "    - net/mlx5: Added cond_resched() to crdump collection",
                            "    - netfilter: uapi: NFTA_FLOWTABLE_HOOK is NLA_NESTED",
                            "    - net: ieee802154: mcr20a: Use IRQF_NO_AUTOEN flag in request_irq()",
                            "    - Bluetooth: btmrvl_sdio: Refactor irq wakeup",
                            "    - Bluetooth: btmrvl: Use IRQF_NO_AUTOEN flag in request_irq()",
                            "    - ipv4: ip_gre: Fix drops of small packets in ipgre_xmit",
                            "    - ALSA: hda/realtek: Fix the push button function for the ALC257",
                            "    - ALSA: hda/generic: Unconditionally prefer preferred_dacs pairs",
                            "    - ALSA: hda/conexant: Fix conflicting quirk for System76 Pangolin",
                            "    - wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats()",
                            "    - ice: Adjust over allocation of memory in ice_sched_add_root_node() and",
                            "      ice_sched_add_node()",
                            "    - net: hisilicon: hip04: fix OF node leak in probe()",
                            "    - net: hisilicon: hns_dsaf_mac: fix OF node leak in hns_mac_get_info()",
                            "    - net: hisilicon: hns_mdio: fix OF node leak in probe()",
                            "    - ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails",
                            "    - ACPICA: Fix memory leak if acpi_ps_get_next_field() fails",
                            "    - net: sched: consistently use rcu_replace_pointer() in taprio_change()",
                            "    - wifi: rtw88: select WANT_DEV_COREDUMP",
                            "    - ACPI: EC: Do not release locks during operation region accesses",
                            "    - net: mvpp2: Increase size of queue_name buffer",
                            "    - ipv4: Check !in_dev earlier for ioctl(SIOCSIFADDR).",
                            "    - ipv4: Mask upper DSCP bits and ECN bits in NETLINK_FIB_LOOKUP family",
                            "    - tcp: avoid reusing FIN_WAIT2 when trying to find port in connect() process",
                            "    - ACPICA: iasl: handle empty connection_node",
                            "    - proc: add config & param to block forcing mem writes",
                            "    - [Config] updateconfigs to select PROC_MEM_ALWAYS_FORCE",
                            "    - nfp: Use IRQF_NO_AUTOEN flag in request_irq()",
                            "    - signal: Replace BUG_ON()s",
                            "    - ALSA: hdsp: Break infinite MIDI input flush loop",
                            "    - x86/syscall: Avoid memcpy() for ia32 syscall_get_arguments()",
                            "    - power: reset: brcmstb: Do not go into infinite loop if reset fails",
                            "    - ata: sata_sil: Rename sil_blacklist to sil_quirks",
                            "    - jfs: UBSAN: shift-out-of-bounds in dbFindBits",
                            "    - drm/printer: Allow NULL data in devcoredump printer",
                            "    - scsi: aacraid: Rearrange order of struct aac_srb_unit",
                            "    - drm/radeon/r100: Handle unknown family in r100_cp_init_microcode()",
                            "    - of/irq: Refer to actual buffer size in of_irq_parse_one()",
                            "    - ext4: ext4_search_dir should return a proper error",
                            "    - spi: s3c64xx: fix timeout counters in flush_fifo",
                            "    - selftests: breakpoints: use remaining time to check if suspend succeed",
                            "    - selftests: vDSO: fix vDSO symbols lookup for powerpc64",
                            "    - i2c: xiic: Wait for TX empty to avoid missed TX NAKs",
                            "    - firmware: tegra: bpmp: Drop unused mbox_client_to_bpmp()",
                            "    - spi: bcm63xx: Fix module autoloading",
                            "    - perf/core: Fix small negative period being ignored",
                            "    - parisc: Fix itlb miss handler for 64-bit programs",
                            "    - drm: Consistently use struct drm_mode_rect for FB_DAMAGE_CLIPS",
                            "    - ALSA: core: add isascii() check to card ID generator",
                            "    - ext4: propagate errors from ext4_find_extent() in ext4_insert_range()",
                            "    - ext4: fix incorrect tid assumption in __jbd2_log_wait_for_space()",
                            "    - ext4: fix incorrect tid assumption in ext4_wait_for_tail_page_commit()",
                            "    - parisc: Fix 64-bit userspace syscall path",
                            "    - parisc: Fix stack start for ADDR_NO_RANDOMIZE personality",
                            "    - of/irq: Support #msi-cells=<0> in of_msi_get_domain",
                            "    - mm: krealloc: consider spare memory for __GFP_ZERO",
                            "    - ocfs2: fix the la space leak when unmounting an ocfs2 volume",
                            "    - ocfs2: fix uninit-value in ocfs2_get_block()",
                            "    - riscv: define ILLEGAL_POINTER_VALUE for 64bit",
                            "    - clk: rockchip: fix error for unknown clocks",
                            "    - media: sun4i_csi: Implement link validate for sun4i_csi subdev",
                            "    - media: uapi/linux/cec.h: cec_msg_set_reply_to: zero flags",
                            "    - iio: magnetometer: ak8975: Fix reading for ak099xx sensors",
                            "    - tomoyo: fallback to realpath if symlink's pathname does not exist",
                            "    - rtc: at91sam9: fix OF node leak in probe() error path",
                            "    - Input: adp5589-keys - fix adp5589_gpio_get_value()",
                            "    - ACPI: resource: Add Asus Vivobook X1704VAP to irq1_level_low_skip_override[]",
                            "    - ACPI: resource: Add Asus ExpertBook B2502CVA to",
                            "      irq1_level_low_skip_override[]",
                            "    - gpio: davinci: fix lazy disable",
                            "    - i2c: qcom-geni: Let firmware specify irq trigger flags",
                            "    - i2c: qcom-geni: Grow a dev pointer to simplify code",
                            "    - i2c: qcom-geni: Use IRQF_NO_AUTOEN flag in request_irq()",
                            "    - arm64: Add Cortex-715 CPU part definition",
                            "    - arm64: cputype: Add Neoverse-N3 definitions",
                            "    - arm64: errata: Expand speculative SSBS workaround once more",
                            "    - nfsd: use ktime_get_seconds() for timestamps",
                            "    - nfsd: fix delegation_blocked() to block correctly for at least 30 seconds",
                            "    - clk: qcom: rpmh: Simplify clk_rpmh_bcm_send_cmd()",
                            "    - clk: qcom: clk-rpmh: Fix overflow in BCM vote",
                            "    - r8169: Fix spelling mistake: \"tx_underun\" -> \"tx_underrun\"",
                            "    - ACPI: battery: Simplify battery hook locking",
                            "    - ext4: fix inode tree inconsistency caused by ENOMEM",
                            "    - net: ethernet: cortina: Drop TSO support",
                            "    - tracing: Remove precision vsnprintf() check from print event",
                            "    - drm/crtc: fix uninitialized variable use even harder",
                            "    - tracing: Have saved_cmdlines arrays all in one allocation",
                            "    - virtio_console: fix misc probe bugs",
                            "    - Input: synaptics-rmi4 - fix UAF of IRQ domain on driver removal",
                            "    - bpf: Check percpu map value size first",
                            "    - s390/facility: Disable compile time optimization for decompressor code",
                            "    - s390/mm: Add cond_resched() to cmm_alloc/free_pages()",
                            "    - ext4: nested locking for xattr inode",
                            "    - s390/cpum_sf: Remove WARN_ON_ONCE statements",
                            "    - ktest.pl: Avoid false positives with grub2 skip regex",
                            "    - clk: bcm: bcm53573: fix OF node leak in init",
                            "    - PCI: Add ACS quirk for Qualcomm SA8775P",
                            "    - i2c: i801: Use a different adapter-name for IDF adapters",
                            "    - PCI: Mark Creative Labs EMU20k2 INTx masking as broken",
                            "    - media: videobuf2-core: clear memory related fields in",
                            "      __vb2_plane_dmabuf_put()",
                            "    - usb: chipidea: udc: enable suspend interrupt after usb reset",
                            "    - usb: dwc2: Adjust the timing of USB Driver Interrupt Registration in the",
                            "      Crashkernel Scenario",
                            "    - tools/iio: Add memory allocation failure check for trigger_name",
                            "    - driver core: bus: Return -EIO instead of 0 when show/store invalid bus",
                            "      attribute",
                            "    - ice: fix VLAN replay after reset",
                            "    - SUNRPC: Fix integer overflow in decode_rc_list()",
                            "    - tcp: fix to allow timestamp undo if no retransmits were sent",
                            "    - tcp: fix tcp_enter_recovery() to zero retrans_stamp when it's safe",
                            "    - gpio: aspeed: Add the flush write to ensure the write complete.",
                            "    - gpio: aspeed: Use devm_clk api to manage clock source",
                            "    - net: ibm: emac: mal: fix wrong goto",
                            "    - net: annotate lockless accesses to sk->sk_ack_backlog",
                            "    - net: annotate lockless accesses to sk->sk_max_ack_backlog",
                            "    - sctp: ensure sk_state is set to CLOSED if hashing fails in sctp_listen_start",
                            "    - locking/lockdep: Fix bad recursion pattern",
                            "    - locking/lockdep: Rework lockdep_lock",
                            "    - locking/lockdep: Avoid potential access of invalid memory in lock_class",
                            "    - lockdep: fix deadlock issue between lockdep and rcu",
                            "    - HID: plantronics: Workaround for an unexcepted opposite volume key",
                            "    - Revert \"usb: yurex: Replace snprintf() with the safer scnprintf() variant\"",
                            "    - usb: dwc3: core: Stop processing of pending events if controller is halted",
                            "    - usb: xhci: Fix problem with xhci resume from suspend",
                            "    - usb: storage: ignore bogus device raised by JieLi BR21 USB sound chip",
                            "    - hid: intel-ish-hid: Fix uninitialized variable 'rv' in",
                            "      ish_fw_xfer_direct_dma",
                            "    - arm64: probes: Fix simulate_ldr*_literal()",
                            "    - tracing/kprobes: Return EADDRNOTAVAIL when func matches several symbols",
                            "    - tracing/kprobes: Fix symbol counting logic by looking at modules as well",
                            "    - PCI: Add function 0 DMA alias quirk for Glenfly Arise chip",
                            "    - fat: fix uninitialized variable",
                            "    - s390/sclp_vt220: Convert newlines to CRLF instead of LFCR",
                            "    - KVM: s390: Change virtual to physical address access in diag 0x258 handler",
                            "    - x86/cpufeatures: Define X86_FEATURE_AMD_IBPB_RET",
                            "    - drm/vmwgfx: Handle surface check failure correctly",
                            "    - iio: dac: ltc1660: add missing select REGMAP_SPI in Kconfig",
                            "    - iio: dac: stm32-dac-core: add missing select REGMAP_MMIO in Kconfig",
                            "    - iio: adc: ti-ads8688: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig",
                            "    - iio: hid-sensors: Fix an error handling path in",
                            "      _hid_sensor_set_report_latency()",
                            "    - iio: light: opt3001: add missing full-scale range value",
                            "    - iio: proximity: mb1232: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig",
                            "    - iio: adc: ti-ads124s08: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig",
                            "    - Bluetooth: Remove debugfs directory on module init failure",
                            "    - Bluetooth: btusb: Fix regression with fake CSR controllers 0a12:0001",
                            "    - xhci: Fix incorrect stream context type macro",
                            "    - USB: serial: option: add support for Quectel EG916Q-GL",
                            "    - USB: serial: option: add Telit FN920C04 MBIM compositions",
                            "    - x86/resctrl: Annotate get_mem_config() functions as __init",
                            "    - x86/apic: Always explicitly disarm TSC-deadline timer",
                            "    - mac80211: Fix NULL ptr deref for injected rate info",
                            "    - RDMA/bnxt_re: Fix incorrect AVID type in WQE structure",
                            "    - ARM: dts: bcm2837-rpi-cm3-io3: Fix HDMI hpd-gpio pin",
                            "    - RDMA/cxgb4: Fix RDMA_CM_EVENT_UNREACHABLE error for iWARP",
                            "    - ipv4: give an IPv4 dev to blackhole_netdev",
                            "    - RDMA/bnxt_re: Return more meaningful error",
                            "    - drm/msm/dsi: fix 32-bit signed integer extension in pclk_rate calculation",
                            "    - macsec: don't increment counters for an unrelated SA",
                            "    - net: ethernet: aeroflex: fix potential memory leak in",
                            "      greth_start_xmit_gbit()",
                            "    - genetlink: hold RCU in genlmsg_mcast()",
                            "    - arm64:uprobe fix the uprobe SWBP_INSN in big-endian",
                            "    - KVM: s390: gaccess: Check if guest address is in memslot",
                            "    - jfs: Fix sanity check in dbMount",
                            "    - net: usb: usbnet: fix name regression",
                            "    - r8169: avoid unsolicited interrupts",
                            "    - posix-clock: posix-clock: Fix unbalanced locking in pc_clock_settime()",
                            "    - ALSA: hda/realtek: Update default depop procedure",
                            "    - ACPI: resource: Add LG 16T90SP to irq1_level_low_skip_override[]",
                            "    - ACPI: button: Add DMI quirk for Samsung Galaxy Book2 to fix initial lid",
                            "      detection issue",
                            "    - ALSA: hda/realtek: Add subwoofer quirk for Acer Predator G9-593",
                            "    - hv_netvsc: Fix VF namespace also in synthetic NIC NETDEV_REGISTER event",
                            "    - selinux: improve error checking in sel_write_load()",
                            "    - arm64/uprobes: change the uprobe_opcode_t typedef to fix the sparse warning",
                            "    - cgroup: Fix potential overflow issue when checking max_depth",
                            "    - wifi: mac80211: skip non-uploaded keys in ieee80211_iter_keys",
                            "    - mac80211: do drv_reconfig_complete() before restarting all",
                            "    - mac80211: Add support to trigger sta disconnect on hardware restart",
                            "    - wifi: iwlwifi: mvm: disconnect station vifs if recovery failed",
                            "    - ASoC: cs42l51: Fix some error handling paths in cs42l51_probe()",
                            "    - dt-bindings: gpu: Convert Samsung Image Rotator to dt-schema",
                            "    - gtp: simplify error handling code in 'gtp_encap_enable()'",
                            "    - gtp: allow -1 to be specified as file description from userspace",
                            "    - net: support ip generic csum processing in skb_csum_hwoffload_help",
                            "    - net: skip offload for NETIF_F_IPV6_CSUM if ipv6 header contains extension",
                            "    - drivers/misc: ti-st: Remove unneeded variable in st_tty_open",
                            "    - firmware: arm_sdei: Fix the input parameter of cpuhp_remove_state()",
                            "    - net: amd: mvme147: Fix probe banner message",
                            "    - misc: sgi-gru: Don't disable preemption in GRU driver",
                            "    - usbip: tools: Fix detach_port() invalid port error path",
                            "    - usb: phy: Fix API devm_usb_put_phy() can not release the phy",
                            "    - xhci: Fix Link TRB DMA in command ring stopped completion event",
                            "    - Revert \"driver core: Fix uevent_show() vs driver detach race\"",
                            "    - riscv: Remove unused GENERATING_ASM_OFFSETS",
                            "    - Revert \"drm/mipi-dsi: Set the fwnode for mipi_dsi_device\"",
                            "    - vt: prevent kernel-infoleak in con_font_get()",
                            "    - mac80211: always have ieee80211_sta_restart()",
                            "    - mm: krealloc: Fix MTE false alarm in __do_krealloc",
                            "    - Linux 5.4.285",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50228",
                            "    - mm: shmem: fix data-race in shmem_getattr()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50230",
                            "    - nilfs2: fix kernel bug due to missing clearing of checked flag",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50218",
                            "    - ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50229",
                            "    - nilfs2: fix potential deadlock with newly created symlinks",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50233",
                            "    - staging: iio: frequency: ad9832: fix division by zero in",
                            "      ad9832_calc_freqreg()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50234",
                            "    - wifi: iwlegacy: Clear stale interrupts before resuming device",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50236",
                            "    - wifi: ath10k: Fix memory leak in management tx",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50237",
                            "    - wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50251",
                            "    - netfilter: nft_payload: sanitize offset and length before calling",
                            "      skb_checksum()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50262",
                            "    - bpf: Fix out-of-bounds write in trie_get_next_key()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-53059",
                            "    - wifi: iwlwifi: mvm: Fix response handling in iwl_mvm_send_recovery_cmd()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50142",
                            "    - xfrm: validate new SA's prefixlen using SA family when sel.family is unset",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50116",
                            "    - nilfs2: fix kernel bug due to missing clearing of buffer delay flag",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50117",
                            "    - drm/amd: Guard against bad data for ATIF ACPI method",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50205",
                            "    - ALSA: firewire-lib: Avoid division by zero in apply_constraint_to_size()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50127",
                            "    - net: sched: fix use-after-free in taprio_change()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50167",
                            "    - be2net: fix potential memory leak in be_xmit()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50168",
                            "    - net/sun3_82586: fix potential memory leak in sun3_82586_send_packet()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50131",
                            "    - tracing: Consider the NULL character when validating the event length",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50143",
                            "    - udf: fix uninit-value use in udf_get_fileshortad",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50134",
                            "    - drm/vboxvideo: Replace fake VLA at end of vbva_mouse_pointer_shape with real",
                            "      VLA",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50194",
                            "    - arm64: probes: Fix uprobes for big-endian kernels",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50148",
                            "    - Bluetooth: bnep: fix wild-memory-access in proto_unregister",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50150",
                            "    - usb: typec: altmode should keep reference to parent",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50151",
                            "    - smb: client: fix OOBs when building SMB2_IOCTL request",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50171",
                            "    - net: systemport: fix potential memory leak in bcm_sysport_xmit()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50202",
                            "    - nilfs2: propagate directory read errors from nilfs_find_entry()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50074",
                            "    - parport: Proper fix for array out-of-bounds access",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50082",
                            "    - blk-rq-qos: fix crash on rq_qos_wait vs. rq_qos_wake_function race",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-40953",
                            "    - KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50199",
                            "    - mm/swapfile: skip HugeTLB pages for unuse_vma",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50099",
                            "    - arm64: probes: Remove broken LDR (literal) uprobe support",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50195",
                            "    - posix-clock: Fix missing timespec64 check in pc_clock_settime()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50096",
                            "    - nouveau/dmem: Fix vulnerability in migrate_to_ram upon copy error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50024",
                            "    - net: Fix an unsafe loop on the list",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49878",
                            "    - resource: fix region_intersects() vs add_memory_driver_managed()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50033",
                            "    - slip: make slhc_remember() more robust against malicious packets",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50035",
                            "    - ppp: fix ppp_async_encode() illegal access",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50039",
                            "    - net/sched: accept TCA_STAB only for root qdisc",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50040",
                            "    - igb: Do not bring the device up after non-fatal error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50044",
                            "    - Bluetooth: RFCOMM: FIX possible deadlock in rfcomm_sk_state_change",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50045",
                            "    - netfilter: br_netfilter: fix panic with metadata_dst skb",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-38544",
                            "    - RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50180",
                            "    - fbdev: sisfb: Fix strbuf array overflow",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50184",
                            "    - virtio_pmem: Check device status before requesting flush",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50059",
                            "    - ntb: ntb_hw_switchtec: Fix use after free vulnerability in",
                            "      switchtec_ntb_remove due to race condition",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50089",
                            "    - unicode: Don't special case ignorable code points",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49955",
                            "    - ACPI: battery: Fix possible crash when unregistering a battery hook",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49973",
                            "    - r8169: add tally counter fields added with RTL8125",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49975",
                            "    - uprobes: fix kernel info leak via \"[uprobes]\" vma",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49867",
                            "    - btrfs: wait for fixup workers before stopping cleaner kthread during umount",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49868",
                            "    - btrfs: fix a NULL pointer dereference when failed to start a new trasacntion",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49981",
                            "    - media: venus: fix use after free bug in venus_remove due to race condition",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49982",
                            "    - aoe: fix the potential use-after-free problem in more places",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49877",
                            "    - ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49957",
                            "    - ocfs2: fix null-ptr-deref when journal load failed.",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49965",
                            "    - ocfs2: remove unreasonable unlock in ocfs2_read_blocks",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49966",
                            "    - ocfs2: cancel dqi_sync_work before freeing oinfo",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49958",
                            "    - ocfs2: reserve space for inline xattr before attaching reflink tree",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49959",
                            "    - jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49879",
                            "    - drm: omapdrm: Add missing check for alloc_ordered_workqueue",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49882",
                            "    - ext4: fix double brelse() the buffer of the extents path",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49883",
                            "    - ext4: aovid use-after-free in ext4_ext_insert_extent()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49985",
                            "    - i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50006",
                            "    - ext4: fix i_data_sem unlock order in ext4_ind_migrate()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49892",
                            "    - drm/amd/display: Initialize get_bytes_per_element's default to 1",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49894",
                            "    - drm/amd/display: Fix index out of bounds in degamma hardware format",
                            "      translation",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49896",
                            "    - drm/amd/display: Check stream before comparing them",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49900",
                            "    - jfs: Fix uninit-value access of new_ea in ea_buffer",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49902",
                            "    - jfs: check if leafidx greater than num leaves per dmap tree",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49903",
                            "    - jfs: Fix uaf in dbFreeBits",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49924",
                            "    - fbdev: pxafb: Fix possible use after free in pxafb_task()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50007",
                            "    - ALSA: asihpi: Fix potential OOB array access",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50008",
                            "    - wifi: mwifiex: Fix memcpy() field-spanning write warning in",
                            "      mwifiex_cmd_802_11_scan_ext()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49995",
                            "    - tipc: guard against string buffer overrun",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49962",
                            "    - ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in",
                            "      acpi_db_convert_to_package()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49938",
                            "    - wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47740",
                            "    - f2fs: Require FMODE_WRITE for atomic write ioctls",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49944",
                            "    - sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49948",
                            "    - net: add more sanity checks to qdisc_pkt_len_init()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49949",
                            "    - net: avoid potential underflow in qdisc_pkt_len_init() with UFO",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49997",
                            "    - net: ethernet: lantiq_etop: fix memory disclosure",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49952",
                            "    - netfilter: nf_tables: prevent nf_skb_duplicated corruption",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50179",
                            "    - ceph: remove the incorrect Fw reference check when dirtying pages",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49963",
                            "    - mailbox: bcm2835: Fix timeout during suspend mode",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-46849",
                            "    - ASoC: meson: axg-card: fix 'use-after-free'",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47679",
                            "    - vfs: fix race between evice_inodes() and find_inode()&iput()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49860",
                            "    - ACPI: sysfs: validate return type of _STR method",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47742",
                            "    - firmware_loader: Block path traversal",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47684",
                            "    - tcp: check skb is non-NULL in tcp_rto_delta_us()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47747",
                            "    - net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race",
                            "      Condition",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47685",
                            "    - netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47692",
                            "    - nfsd: return -EINVAL when namelen is 0",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47737",
                            "    - nfsd: call cache_put if xdr_reserve_space returns NULL",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2023-52917",
                            "    - ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47749",
                            "    - RDMA/cxgb4: Added NULL check for lookup_atid",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47696",
                            "    - RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47756",
                            "    - PCI: keystone: Fix if-statement expression in ks_pcie_quirk()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47697",
                            "    - drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47698",
                            "    - drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47757",
                            "    - nilfs2: fix potential oob read in nilfs_btree_check_delete()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47699",
                            "    - nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47701",
                            "    - ext4: avoid OOB when system.data xattr changes underneath the filesystem",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49851",
                            "    - tpm: Clean up TPM space after command failure",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47723",
                            "    - jfs: fix out-of-bounds in dbNextAG() and diAlloc()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47706",
                            "    - block, bfq: fix possible UAF for bfqq->bic with merge chain",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47709",
                            "    - can: bcm: Clear bo->bcm_proc_read after remove_proc_entry().",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47710",
                            "    - sock_map: Add a cond_resched() in sock_hash_free()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47712",
                            "    - wifi: wilc1000: fix potential RCU dereference issue in",
                            "      wilc_parse_join_bss_param",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47713",
                            "    - wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47671",
                            "    - USB: usbtmc: prevent kernel-usb-infoleak",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-44931",
                            "    - gpio: prevent potential speculation leaks in gpio_device_get_desc()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-41016",
                            "    - ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47670",
                            "    - ocfs2: add bounds checking to ocfs2_xattr_find_entry()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47672",
                            "    - wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-46853",
                            "    - spi: nxp-fspi: fix the KASAN report out-of-bounds bug",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-46854",
                            "    - net: dpaa: Pad packets to ETH_ZLEN",
                            ""
                        ],
                        "package": "linux-kvm",
                        "version": "5.4.0-1127.136",
                        "urgency": "medium",
                        "distributions": "focal",
                        "launchpad_bugs_fixed": [
                            2093775,
                            2086606,
                            2089233,
                            2095347,
                            2095348,
                            2093785,
                            2078011,
                            2089699,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2086606,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233
                        ],
                        "author": "Koichiro Den <koichiro.den@canonical.com>",
                        "date": "Thu, 06 Feb 2025 23:47:16 +0900"
                    }
                ],
                "notes": "linux-headers-5.4.0-1127-kvm version '5.4.0-1127.136' (source package linux-kvm version '5.4.0-1127.136') was added. linux-headers-5.4.0-1127-kvm version '5.4.0-1127.136' has the same source package name, linux-kvm, as removed package linux-headers-5.4.0-1126-kvm. As such we can use the source package version of the removed package, '5.4.0-1126.134', 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."
            },
            {
                "name": "linux-image-5.4.0-1127-kvm",
                "from_version": {
                    "source_package_name": "linux-signed-kvm",
                    "source_package_version": "5.4.0-1126.134",
                    "version": null
                },
                "to_version": {
                    "source_package_name": "linux-signed-kvm",
                    "source_package_version": "5.4.0-1127.136",
                    "version": "5.4.0-1127.136"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    1786013
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Main version: 5.4.0-1127.136",
                            ""
                        ],
                        "package": "linux-signed-kvm",
                        "version": "5.4.0-1127.136",
                        "urgency": "medium",
                        "distributions": "focal",
                        "launchpad_bugs_fixed": [],
                        "author": "Koichiro Den <koichiro.den@canonical.com>",
                        "date": "Thu, 06 Feb 2025 23:49:53 +0900"
                    },
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Main version: 5.4.0-1127.135",
                            "",
                            "  * Packaging resync (LP: #1786013)",
                            "    - [Packaging] debian/tracking-bug -- resync from main package",
                            ""
                        ],
                        "package": "linux-signed-kvm",
                        "version": "5.4.0-1127.135",
                        "urgency": "medium",
                        "distributions": "focal",
                        "launchpad_bugs_fixed": [
                            1786013
                        ],
                        "author": "Guoqing Jiang <guoqing.jiang@canonical.com>",
                        "date": "Fri, 24 Jan 2025 11:25:53 +0800"
                    }
                ],
                "notes": "linux-image-5.4.0-1127-kvm version '5.4.0-1127.136' (source package linux-signed-kvm version '5.4.0-1127.136') was added. linux-image-5.4.0-1127-kvm version '5.4.0-1127.136' has the same source package name, linux-signed-kvm, as removed package linux-image-5.4.0-1126-kvm. As such we can use the source package version of the removed package, '5.4.0-1126.134', 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."
            },
            {
                "name": "linux-kvm-headers-5.4.0-1127",
                "from_version": {
                    "source_package_name": "linux-kvm",
                    "source_package_version": "5.4.0-1126.134",
                    "version": null
                },
                "to_version": {
                    "source_package_name": "linux-kvm",
                    "source_package_version": "5.4.0-1127.136",
                    "version": "5.4.0-1127.136"
                },
                "cves": [
                    {
                        "cve": "CVE-2024-43863",
                        "url": "https://ubuntu.com/security/CVE-2024-43863",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/vmwgfx: Fix a deadlock in dma buf fence polling  Introduce a version of the fence ops that on release doesn't remove the fence from the pending list, and thus doesn't require a lock to fix poll->fence wait->fence unref deadlocks.  vmwgfx overwrites the wait callback to iterate over the list of all fences and update their status, to do that it holds a lock to prevent the list modifcations from other threads. The fence destroy callback both deletes the fence and removes it from the list of pending fences, for which it holds a lock.  dma buf polling cb unrefs a fence after it's been signaled: so the poll calls the wait, which signals the fences, which are being destroyed. The destruction tries to acquire the lock on the pending fences list which it can never get because it's held by the wait from which it was called.  Old bug, but not a lot of userspace apps were using dma-buf polling interfaces. Fix those, in particular this fixes KDE stalls/deadlock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-08-21 00:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-40911",
                        "url": "https://ubuntu.com/security/CVE-2024-40911",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: cfg80211: Lock wiphy in cfg80211_get_station  Wiphy should be locked before calling rdev_get_station() (see lockdep assert in ieee80211_get_station()).  This fixes the following kernel NULL dereference:   Unable to handle kernel NULL pointer dereference at virtual address 0000000000000050  Mem abort info:    ESR = 0x0000000096000006    EC = 0x25: DABT (current EL), IL = 32 bits    SET = 0, FnV = 0    EA = 0, S1PTW = 0    FSC = 0x06: level 2 translation fault  Data abort info:    ISV = 0, ISS = 0x00000006    CM = 0, WnR = 0  user pgtable: 4k pages, 48-bit VAs, pgdp=0000000003001000  [0000000000000050] pgd=0800000002dca003, p4d=0800000002dca003, pud=08000000028e9003, pmd=0000000000000000  Internal error: Oops: 0000000096000006 [#1] SMP  Modules linked in: netconsole dwc3_meson_g12a dwc3_of_simple dwc3 ip_gre gre ath10k_pci ath10k_core ath9k ath9k_common ath9k_hw ath  CPU: 0 PID: 1091 Comm: kworker/u8:0 Not tainted 6.4.0-02144-g565f9a3a7911-dirty #705  Hardware name: RPT (r1) (DT)  Workqueue: bat_events batadv_v_elp_throughput_metric_update  pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)  pc : ath10k_sta_statistics+0x10/0x2dc [ath10k_core]  lr : sta_set_sinfo+0xcc/0xbd4  sp : ffff000007b43ad0  x29: ffff000007b43ad0 x28: ffff0000071fa900 x27: ffff00000294ca98  x26: ffff000006830880 x25: ffff000006830880 x24: ffff00000294c000  x23: 0000000000000001 x22: ffff000007b43c90 x21: ffff800008898acc  x20: ffff00000294c6e8 x19: ffff000007b43c90 x18: 0000000000000000  x17: 445946354d552d78 x16: 62661f7200000000 x15: 57464f445946354d  x14: 0000000000000000 x13: 00000000000000e3 x12: d5f0acbcebea978e  x11: 00000000000000e3 x10: 000000010048fe41 x9 : 0000000000000000  x8 : ffff000007b43d90 x7 : 000000007a1e2125 x6 : 0000000000000000  x5 : ffff0000024e0900 x4 : ffff800000a0250c x3 : ffff000007b43c90  x2 : ffff00000294ca98 x1 : ffff000006831920 x0 : 0000000000000000  Call trace:   ath10k_sta_statistics+0x10/0x2dc [ath10k_core]   sta_set_sinfo+0xcc/0xbd4   ieee80211_get_station+0x2c/0x44   cfg80211_get_station+0x80/0x154   batadv_v_elp_get_throughput+0x138/0x1fc   batadv_v_elp_throughput_metric_update+0x1c/0xa4   process_one_work+0x1ec/0x414   worker_thread+0x70/0x46c   kthread+0xdc/0xe0   ret_from_fork+0x10/0x20  Code: a9bb7bfd 910003fd a90153f3 f9411c40 (f9402814)  This happens because STA has time to disconnect and reconnect before batadv_v_elp_throughput_metric_update() delayed work gets scheduled. In this situation, ath10k_sta_state() can be in the middle of resetting arsta data when the work queue get chance to be scheduled and ends up accessing it. Locking wiphy prevents that.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-12 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-35896",
                        "url": "https://ubuntu.com/security/CVE-2024-35896",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: netfilter: validate user input for expected length I got multiple syzbot reports showing old bugs exposed by BPF after commit 20f2505fb436 (\"bpf: Try to avoid kzalloc in cgroup/{s,g}etsockopt\") setsockopt() @optlen argument should be taken into account before copying data. BUG: KASAN: slab-out-of-bounds in copy_from_sockptr_offset include/linux/sockptr.h:49 [inline] BUG: KASAN: slab-out-of-bounds in copy_from_sockptr include/linux/sockptr.h:55 [inline] BUG: KASAN: slab-out-of-bounds in do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline] BUG: KASAN: slab-out-of-bounds in do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627 Read of size 96 at addr ffff88802cd73da0 by task syz-executor.4/7238 CPU: 1 PID: 7238 Comm: syz-executor.4 Not tainted 6.9.0-rc2-next-20240403-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 print_address_description mm/kasan/report.c:377 [inline] print_report+0x169/0x550 mm/kasan/report.c:488 kasan_report+0x143/0x180 mm/kasan/report.c:601 kasan_check_range+0x282/0x290 mm/kasan/generic.c:189 __asan_memcpy+0x29/0x70 mm/kasan/shadow.c:105 copy_from_sockptr_offset include/linux/sockptr.h:49 [inline] copy_from_sockptr include/linux/sockptr.h:55 [inline] do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline] do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627 nf_setsockopt+0x295/0x2c0 net/netfilter/nf_sockopt.c:101 do_sock_setsockopt+0x3af/0x720 net/socket.c:2311 __sys_setsockopt+0x1ae/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340 do_syscall_64+0xfb/0x240 entry_SYSCALL_64_after_hwframe+0x72/0x7a RIP: 0033:0x7fd22067dde9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fd21f9ff0c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 00007fd2207abf80 RCX: 00007fd22067dde9 RDX: 0000000000000040 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 00007fd2206ca47a R08: 0000000000000001 R09: 0000000000000000 R10: 0000000020000880 R11: 0000000000000246 R12: 0000000000000000 R13: 000000000000000b R14: 00007fd2207abf80 R15: 00007ffd2d0170d8 </TASK> Allocated by task 7238: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:370 [inline] __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:387 kasan_kmalloc include/linux/kasan.h:211 [inline] __do_kmalloc_node mm/slub.c:4069 [inline] __kmalloc_noprof+0x200/0x410 mm/slub.c:4082 kmalloc_noprof include/linux/slab.h:664 [inline] __cgroup_bpf_run_filter_setsockopt+0xd47/0x1050 kernel/bpf/cgroup.c:1869 do_sock_setsockopt+0x6b4/0x720 net/socket.c:2293 __sys_setsockopt+0x1ae/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340 do_syscall_64+0xfb/0x240 entry_SYSCALL_64_after_hwframe+0x72/0x7a The buggy address belongs to the object at ffff88802cd73da0 which belongs to the cache kmalloc-8 of size 8 The buggy address is located 0 bytes inside of allocated 1-byte region [ffff88802cd73da0, ffff88802cd73da1) The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff88802cd73020 pfn:0x2cd73 flags: 0xfff80000000000(node=0|zone=1|lastcpupid=0xfff) page_type: 0xffffefff(slab) raw: 00fff80000000000 ffff888015041280 dead000000000100 dead000000000122 raw: ffff88802cd73020 000000008080007f 00000001ffffefff 00 ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-05-19 09:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2023-52458",
                        "url": "https://ubuntu.com/security/CVE-2023-52458",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: block: add check that partition length needs to be aligned with block size Before calling add partition or resize partition, there is no check on whether the length is aligned with the logical block size. If the logical block size of the disk is larger than 512 bytes, then the partition size maybe not the multiple of the logical block size, and when the last sector is read, bio_truncate() will adjust the bio size, resulting in an IO error if the size of the read command is smaller than the logical block size.If integrity data is supported, this will also result in a null pointer dereference when calling bio_integrity_free.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-02-23 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-35887",
                        "url": "https://ubuntu.com/security/CVE-2024-35887",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: ax25: fix use-after-free bugs caused by ax25_ds_del_timer When the ax25 device is detaching, the ax25_dev_device_down() calls ax25_ds_del_timer() to cleanup the slave_timer. When the timer handler is running, the ax25_ds_del_timer() that calls del_timer() in it will return directly. As a result, the use-after-free bugs could happen, one of the scenarios is shown below: (Thread 1) | (Thread 2) | ax25_ds_timeout() ax25_dev_device_down() | ax25_ds_del_timer() | del_timer() | ax25_dev_put() //FREE | | ax25_dev-> //USE In order to mitigate bugs, when the device is detaching, use timer_shutdown_sync() to stop the timer.",
                        "cve_priority": "low",
                        "cve_public_date": "2024-05-19 09:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-40965",
                        "url": "https://ubuntu.com/security/CVE-2024-40965",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  i2c: lpi2c: Avoid calling clk_get_rate during transfer  Instead of repeatedly calling clk_get_rate for each transfer, lock the clock rate and cache the value. A deadlock has been observed while adding tlv320aic32x4 audio codec to the system. When this clock provider adds its clock, the clk mutex is locked already, it needs to access i2c, which in return needs the mutex for clk_get_rate as well.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-12 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-40982",
                        "url": "https://ubuntu.com/security/CVE-2024-40982",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-12 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-41066",
                        "url": "https://ubuntu.com/security/CVE-2024-41066",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ibmvnic: Add tx check to prevent skb leak  Below is a summary of how the driver stores a reference to an skb during transmit:     tx_buff[free_map[consumer_index]]->skb = new_skb;     free_map[consumer_index] = IBMVNIC_INVALID_MAP;     consumer_index ++; Where variable data looks like this:     free_map == [4, IBMVNIC_INVALID_MAP, IBMVNIC_INVALID_MAP, 0, 3]                                                \tconsumer_index^     tx_buff == [skb=null, skb=<ptr>, skb=<ptr>, skb=null, skb=null]  The driver has checks to ensure that free_map[consumer_index] pointed to a valid index but there was no check to ensure that this index pointed to an unused/null skb address. So, if, by some chance, our free_map and tx_buff lists become out of sync then we were previously risking an skb memory leak. This could then cause tcp congestion control to stop sending packets, eventually leading to ETIMEDOUT.  Therefore, add a conditional to ensure that the skb address is null. If not then warn the user (because this is still a bug that should be patched) and free the old pointer to prevent memleak/tcp problems.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-29 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-42252",
                        "url": "https://ubuntu.com/security/CVE-2024-42252",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  closures: Change BUG_ON() to WARN_ON()  If a BUG_ON() can be hit in the wild, it shouldn't be a BUG_ON()  For reference, this has popped up once in the CI, and we'll need more info to debug it:  03240 ------------[ cut here ]------------ 03240 kernel BUG at lib/closure.c:21! 03240 kernel BUG at lib/closure.c:21! 03240 Internal error: Oops - BUG: 00000000f2000800 [#1] SMP 03240 Modules linked in: 03240 CPU: 15 PID: 40534 Comm: kworker/u80:1 Not tainted 6.10.0-rc4-ktest-ga56da69799bd #25570 03240 Hardware name: linux,dummy-virt (DT) 03240 Workqueue: btree_update btree_interior_update_work 03240 pstate: 00001005 (nzcv daif -PAN -UAO -TCO -DIT +SSBS BTYPE=--) 03240 pc : closure_put+0x224/0x2a0 03240 lr : closure_put+0x24/0x2a0 03240 sp : ffff0000d12071c0 03240 x29: ffff0000d12071c0 x28: dfff800000000000 x27: ffff0000d1207360 03240 x26: 0000000000000040 x25: 0000000000000040 x24: 0000000000000040 03240 x23: ffff0000c1f20180 x22: 0000000000000000 x21: ffff0000c1f20168 03240 x20: 0000000040000000 x19: ffff0000c1f20140 x18: 0000000000000001 03240 x17: 0000000000003aa0 x16: 0000000000003ad0 x15: 1fffe0001c326974 03240 x14: 0000000000000a1e x13: 0000000000000000 x12: 1fffe000183e402d 03240 x11: ffff6000183e402d x10: dfff800000000000 x9 : ffff6000183e402e 03240 x8 : 0000000000000001 x7 : 00009fffe7c1bfd3 x6 : ffff0000c1f2016b 03240 x5 : ffff0000c1f20168 x4 : ffff6000183e402e x3 : ffff800081391954 03240 x2 : 0000000000000001 x1 : 0000000000000000 x0 : 00000000a8000000 03240 Call trace: 03240  closure_put+0x224/0x2a0 03240  bch2_check_for_deadlock+0x910/0x1028 03240  bch2_six_check_for_deadlock+0x1c/0x30 03240  six_lock_slowpath.isra.0+0x29c/0xed0 03240  six_lock_ip_waiter+0xa8/0xf8 03240  __bch2_btree_node_lock_write+0x14c/0x298 03240  bch2_trans_lock_write+0x6d4/0xb10 03240  __bch2_trans_commit+0x135c/0x5520 03240  btree_interior_update_work+0x1248/0x1c10 03240  process_scheduled_works+0x53c/0xd90 03240  worker_thread+0x370/0x8c8 03240  kthread+0x258/0x2e8 03240  ret_from_fork+0x10/0x20 03240 Code: aa1303e0 d63f0020 a94363f7 17ffff8c (d4210000) 03240 ---[ end trace 0000000000000000 ]--- 03240 Kernel panic - not syncing: Oops - BUG: Fatal exception 03240 SMP: stopping secondary CPUs 03241 SMP: failed to stop secondary CPUs 13,15 03241 Kernel Offset: disabled 03241 CPU features: 0x00,00000003,80000008,4240500b 03241 Memory Limit: none 03241 ---[ end Kernel panic - not syncing: Oops - BUG: Fatal exception ]--- 03246 ========= FAILED TIMEOUT copygc_torture_no_checksum in 7200s",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-08-08 09:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-46731",
                        "url": "https://ubuntu.com/security/CVE-2024-46731",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/pm: fix the Out-of-bounds read warning  using index i - 1U may beyond element index for mc_data[] when i = 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-09-18 07:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47674",
                        "url": "https://ubuntu.com/security/CVE-2024-47674",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mm: avoid leaving partial pfn mappings around in error case  As Jann points out, PFN mappings are special, because unlike normal memory mappings, there is no lifetime information associated with the mapping - it is just a raw mapping of PFNs with no reference counting of a 'struct page'.  That's all very much intentional, but it does mean that it's easy to mess up the cleanup in case of errors.  Yes, a failed mmap() will always eventually clean up any partial mappings, but without any explicit lifetime in the page table mapping itself, it's very easy to do the error handling in the wrong order.  In particular, it's easy to mistakenly free the physical backing store before the page tables are actually cleaned up and (temporarily) have stale dangling PTE entries.  To make this situation less error-prone, just make sure that any partial pfn mapping is torn down early, before any other error handling.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-15 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-38588",
                        "url": "https://ubuntu.com/security/CVE-2024-38588",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix possible use-after-free issue in ftrace_location() KASAN reports a bug: BUG: KASAN: use-after-free in ftrace_location+0x90/0x120 Read of size 8 at addr ffff888141d40010 by task insmod/424 CPU: 8 PID: 424 Comm: insmod Tainted: G W 6.9.0-rc2+ [...] Call Trace: <TASK> dump_stack_lvl+0x68/0xa0 print_report+0xcf/0x610 kasan_report+0xb5/0xe0 ftrace_location+0x90/0x120 register_kprobe+0x14b/0xa40 kprobe_init+0x2d/0xff0 [kprobe_example] do_one_initcall+0x8f/0x2d0 do_init_module+0x13a/0x3c0 load_module+0x3082/0x33d0 init_module_from_file+0xd2/0x130 __x64_sys_finit_module+0x306/0x440 do_syscall_64+0x68/0x140 entry_SYSCALL_64_after_hwframe+0x71/0x79 The root cause is that, in lookup_rec(), ftrace record of some address is being searched in ftrace pages of some module, but those ftrace pages at the same time is being freed in ftrace_release_mod() as the corresponding module is being deleted: CPU1 | CPU2 register_kprobes() { | delete_module() { check_kprobe_address_safe() { | arch_check_ftrace_location() { | ftrace_location() { | lookup_rec() // USE! | ftrace_release_mod() // Free! To fix this issue: 1. Hold rcu lock as accessing ftrace pages in ftrace_location_range(); 2. Use ftrace_location_range() instead of lookup_rec() in ftrace_location(); 3. Call synchronize_rcu() before freeing any ftrace pages both in ftrace_process_locs()/ftrace_release_mod()/ftrace_free_mem().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-06-19 14:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50265",
                        "url": "https://ubuntu.com/security/CVE-2024-50265",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: remove entry once instead of null-ptr-dereference in ocfs2_xa_remove()  Syzkaller is able to provoke null-ptr-dereference in ocfs2_xa_remove():  [   57.319872] (a.out,1161,7):ocfs2_xa_remove:2028 ERROR: status = -12 [   57.320420] (a.out,1161,7):ocfs2_xa_cleanup_value_truncate:1999 ERROR: Partial truncate while removing xattr overlay.upper.  Leaking 1 clusters and removing the entry [   57.321727] BUG: kernel NULL pointer dereference, address: 0000000000000004 [...] [   57.325727] RIP: 0010:ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [...] [   57.331328] Call Trace: [   57.331477]  <TASK> [...] [   57.333511]  ? do_user_addr_fault+0x3e5/0x740 [   57.333778]  ? exc_page_fault+0x70/0x170 [   57.334016]  ? asm_exc_page_fault+0x2b/0x30 [   57.334263]  ? __pfx_ocfs2_xa_block_wipe_namevalue+0x10/0x10 [   57.334596]  ? ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [   57.334913]  ocfs2_xa_remove_entry+0x23/0xc0 [   57.335164]  ocfs2_xa_set+0x704/0xcf0 [   57.335381]  ? _raw_spin_unlock+0x1a/0x40 [   57.335620]  ? ocfs2_inode_cache_unlock+0x16/0x20 [   57.335915]  ? trace_preempt_on+0x1e/0x70 [   57.336153]  ? start_this_handle+0x16c/0x500 [   57.336410]  ? preempt_count_sub+0x50/0x80 [   57.336656]  ? _raw_read_unlock+0x20/0x40 [   57.336906]  ? start_this_handle+0x16c/0x500 [   57.337162]  ocfs2_xattr_block_set+0xa6/0x1e0 [   57.337424]  __ocfs2_xattr_set_handle+0x1fd/0x5d0 [   57.337706]  ? ocfs2_start_trans+0x13d/0x290 [   57.337971]  ocfs2_xattr_set+0xb13/0xfb0 [   57.338207]  ? dput+0x46/0x1c0 [   57.338393]  ocfs2_xattr_trusted_set+0x28/0x30 [   57.338665]  ? ocfs2_xattr_trusted_set+0x28/0x30 [   57.338948]  __vfs_removexattr+0x92/0xc0 [   57.339182]  __vfs_removexattr_locked+0xd5/0x190 [   57.339456]  ? preempt_count_sub+0x50/0x80 [   57.339705]  vfs_removexattr+0x5f/0x100 [...]  Reproducer uses faultinject facility to fail ocfs2_xa_remove() -> ocfs2_xa_value_truncate() with -ENOMEM.  In this case the comment mentions that we can return 0 if ocfs2_xa_cleanup_value_truncate() is going to wipe the entry anyway. But the following 'rc' check is wrong and execution flow do 'ocfs2_xa_remove_entry(loc);' twice: * 1st: in ocfs2_xa_cleanup_value_truncate(); * 2nd: returning back to ocfs2_xa_remove() instead of going to 'out'.  Fix this by skipping the 2nd removal of the same entry and making syzkaller repro happy.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50267",
                        "url": "https://ubuntu.com/security/CVE-2024-50267",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  USB: serial: io_edgeport: fix use after free in debug printk  The \"dev_dbg(&urb->dev->dev, ...\" which happens after usb_free_urb(urb) is a use after free of the \"urb\" pointer.  Store the \"dev\" pointer at the start of the function to avoid this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50269",
                        "url": "https://ubuntu.com/security/CVE-2024-50269",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: musb: sunxi: Fix accessing an released usb phy  Commit 6ed05c68cbca (\"usb: musb: sunxi: Explicitly release USB PHY on exit\") will cause that usb phy @glue->xceiv is accessed after released.  1) register platform driver @sunxi_musb_driver // get the usb phy @glue->xceiv sunxi_musb_probe() -> devm_usb_get_phy().  2) register and unregister platform driver @musb_driver musb_probe() -> sunxi_musb_init() use the phy here //the phy is released here musb_remove() -> sunxi_musb_exit() -> devm_usb_put_phy()  3) register @musb_driver again musb_probe() -> sunxi_musb_init() use the phy here but the phy has been released at 2). ...  Fixed by reverting the commit, namely, removing devm_usb_put_phy() from sunxi_musb_exit().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2021-47469",
                        "url": "https://ubuntu.com/security/CVE-2021-47469",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: spi: Fix deadlock when adding SPI controllers on SPI buses Currently we have a global spi_add_lock which we take when adding new devices so that we can check that we're not trying to reuse a chip select that's already controlled. This means that if the SPI device is itself a SPI controller and triggers the instantiation of further SPI devices we trigger a deadlock as we try to register and instantiate those devices while in the process of doing so for the parent controller and hence already holding the global spi_add_lock. Since we only care about concurrency within a single SPI bus move the lock to be per controller, avoiding the deadlock. This can be easily triggered in the case of spi-mux.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-05-22 07:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50273",
                        "url": "https://ubuntu.com/security/CVE-2024-50273",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: reinitialize delayed ref list after deleting it from the list  At insert_delayed_ref() if we need to update the action of an existing ref to BTRFS_DROP_DELAYED_REF, we delete the ref from its ref head's ref_add_list using list_del(), which leaves the ref's add_list member not reinitialized, as list_del() sets the next and prev members of the list to LIST_POISON1 and LIST_POISON2, respectively.  If later we end up calling drop_delayed_ref() against the ref, which can happen during merging or when destroying delayed refs due to a transaction abort, we can trigger a crash since at drop_delayed_ref() we call list_empty() against the ref's add_list, which returns false since the list was not reinitialized after the list_del() and as a consequence we call list_del() again at drop_delayed_ref(). This results in an invalid list access since the next and prev members are set to poison pointers, resulting in a splat if CONFIG_LIST_HARDENED and CONFIG_DEBUG_LIST are set or invalid poison pointer dereferences otherwise.  So fix this by deleting from the list with list_del_init() instead.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-53066",
                        "url": "https://ubuntu.com/security/CVE-2024-53066",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfs: Fix KMSAN warning in decode_getfattr_attrs()  Fix the following KMSAN warning:  CPU: 1 UID: 0 PID: 7651 Comm: cp Tainted: G    B Tainted: [B]=BAD_PAGE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009) ===================================================== ===================================================== BUG: KMSAN: uninit-value in decode_getfattr_attrs+0x2d6d/0x2f90  decode_getfattr_attrs+0x2d6d/0x2f90  decode_getfattr_generic+0x806/0xb00  nfs4_xdr_dec_getattr+0x1de/0x240  rpcauth_unwrap_resp_decode+0xab/0x100  rpcauth_unwrap_resp+0x95/0xc0  call_decode+0x4ff/0xb50  __rpc_execute+0x57b/0x19d0  rpc_execute+0x368/0x5e0  rpc_run_task+0xcfe/0xee0  nfs4_proc_getattr+0x5b5/0x990  __nfs_revalidate_inode+0x477/0xd00  nfs_access_get_cached+0x1021/0x1cc0  nfs_do_access+0x9f/0xae0  nfs_permission+0x1e4/0x8c0  inode_permission+0x356/0x6c0  link_path_walk+0x958/0x1330  path_lookupat+0xce/0x6b0  filename_lookup+0x23e/0x770  vfs_statx+0xe7/0x970  vfs_fstatat+0x1f2/0x2c0  __se_sys_newfstatat+0x67/0x880  __x64_sys_newfstatat+0xbd/0x120  x64_sys_call+0x1826/0x3cf0  do_syscall_64+0xd0/0x1b0  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The KMSAN warning is triggered in decode_getfattr_attrs(), when calling decode_attr_mdsthreshold(). It appears that fattr->mdsthreshold is not initialized.  Fix the issue by initializing fattr->mdsthreshold to NULL in nfs_fattr_init().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50278",
                        "url": "https://ubuntu.com/security/CVE-2024-50278",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  dm cache: fix potential out-of-bounds access on the first resume  Out-of-bounds access occurs if the fast device is expanded unexpectedly before the first-time resume of the cache table. This happens because expanding the fast device requires reloading the cache table for cache_create to allocate new in-core data structures that fit the new size, and the check in cache_preresume is not performed during the first resume, leading to the issue.  Reproduce steps:  1. prepare component devices:  dmsetup create cmeta --table \"0 8192 linear /dev/sdc 0\" dmsetup create cdata --table \"0 65536 linear /dev/sdc 8192\" dmsetup create corig --table \"0 524288 linear /dev/sdc 262144\" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct  2. load a cache table of 512 cache blocks, and deliberately expand the    fast device before resuming the cache, making the in-core data    structures inadequate.  dmsetup create cache --notable dmsetup reload cache --table \"0 524288 cache /dev/mapper/cmeta \\ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0\" dmsetup reload cdata --table \"0 131072 linear /dev/sdc 8192\" dmsetup resume cdata dmsetup resume cache  3. suspend the cache to write out the in-core dirty bitset and hint    array, leading to out-of-bounds access to the dirty bitset at offset    0x40:  dmsetup suspend cache  KASAN reports:    BUG: KASAN: vmalloc-out-of-bounds in is_dirty_callback+0x2b/0x80   Read of size 8 at addr ffffc90000085040 by task dmsetup/90    (...snip...)   The buggy address belongs to the virtual mapping at    [ffffc90000085000, ffffc90000087000) created by:    cache_ctr+0x176a/0x35f0    (...snip...)   Memory state around the buggy address:    ffffc90000084f00: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc90000084f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8   >ffffc90000085000: 00 00 00 00 00 00 00 00 f8 f8 f8 f8 f8 f8 f8 f8                                              ^    ffffc90000085080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc90000085100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8  Fix by checking the size change on the first resume.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50279",
                        "url": "https://ubuntu.com/security/CVE-2024-50279",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  dm cache: fix out-of-bounds access to the dirty bitset when resizing  dm-cache checks the dirty bits of the cache blocks to be dropped when shrinking the fast device, but an index bug in bitset iteration causes out-of-bounds access.  Reproduce steps:  1. create a cache device of 1024 cache blocks (128 bytes dirty bitset)  dmsetup create cmeta --table \"0 8192 linear /dev/sdc 0\" dmsetup create cdata --table \"0 131072 linear /dev/sdc 8192\" dmsetup create corig --table \"0 524288 linear /dev/sdc 262144\" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct dmsetup create cache --table \"0 524288 cache /dev/mapper/cmeta \\ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0\"  2. shrink the fast device to 512 cache blocks, triggering out-of-bounds    access to the dirty bitset (offset 0x80)  dmsetup suspend cache dmsetup reload cdata --table \"0 65536 linear /dev/sdc 8192\" dmsetup resume cdata dmsetup resume cache  KASAN reports:    BUG: KASAN: vmalloc-out-of-bounds in cache_preresume+0x269/0x7b0   Read of size 8 at addr ffffc900000f3080 by task dmsetup/131    (...snip...)   The buggy address belongs to the virtual mapping at    [ffffc900000f3000, ffffc900000f5000) created by:    cache_ctr+0x176a/0x35f0    (...snip...)   Memory state around the buggy address:    ffffc900000f2f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc900000f3000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >ffffc900000f3080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8                      ^    ffffc900000f3100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc900000f3180: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8  Fix by making the index post-incremented.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50282",
                        "url": "https://ubuntu.com/security/CVE-2024-50282",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: add missing size check in amdgpu_debugfs_gprwave_read()  Avoid a possible buffer overflow if size is larger than 4K.  (cherry picked from commit f5d873f5825b40d886d03bd2aede91d4cf002434)",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50287",
                        "url": "https://ubuntu.com/security/CVE-2024-50287",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: v4l2-tpg: prevent the risk of a division by zero  As reported by Coverity, the logic at tpg_precalculate_line() blindly rescales the buffer even when scaled_witdh is equal to zero. If this ever happens, this will cause a division by zero.  Instead, add a WARN_ON_ONCE() to trigger such cases and return without doing any precalculation.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50290",
                        "url": "https://ubuntu.com/security/CVE-2024-50290",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: cx24116: prevent overflows on SNR calculus  as reported by Coverity, if reading SNR registers fail, a negative number will be returned, causing an underflow when reading SNR registers.  Prevent that.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-53061",
                        "url": "https://ubuntu.com/security/CVE-2024-53061",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: s5p-jpeg: prevent buffer overflows  The current logic allows word to be less than 2. If this happens, there will be buffer overflows, as reported by smatch. Add extra checks to prevent it.  While here, remove an unused word = 0 assignment.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-53063",
                        "url": "https://ubuntu.com/security/CVE-2024-53063",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvbdev: prevent the risk of out of memory access  The dvbdev contains a static variable used to store dvb minors.  The behavior of it depends if CONFIG_DVB_DYNAMIC_MINORS is set or not. When not set, dvb_register_device() won't check for boundaries, as it will rely that a previous call to dvb_register_adapter() would already be enforcing it.  On a similar way, dvb_device_open() uses the assumption that the register functions already did the needed checks.  This can be fragile if some device ends using different calls. This also generate warnings on static check analysers like Coverity.  So, add explicit guards to prevent potential risk of OOM issues.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50296",
                        "url": "https://ubuntu.com/security/CVE-2024-50296",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: fix kernel crash when uninstalling driver  When the driver is uninstalled and the VF is disabled concurrently, a kernel crash occurs. The reason is that the two actions call function pci_disable_sriov(). The num_VFs is checked to determine whether to release the corresponding resources. During the second calling, num_VFs is not 0 and the resource release function is called. However, the corresponding resource has been released during the first invoking. Therefore, the problem occurs:  [15277.839633][T50670] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020 ... [15278.131557][T50670] Call trace: [15278.134686][T50670]  klist_put+0x28/0x12c [15278.138682][T50670]  klist_del+0x14/0x20 [15278.142592][T50670]  device_del+0xbc/0x3c0 [15278.146676][T50670]  pci_remove_bus_device+0x84/0x120 [15278.151714][T50670]  pci_stop_and_remove_bus_device+0x6c/0x80 [15278.157447][T50670]  pci_iov_remove_virtfn+0xb4/0x12c [15278.162485][T50670]  sriov_disable+0x50/0x11c [15278.166829][T50670]  pci_disable_sriov+0x24/0x30 [15278.171433][T50670]  hnae3_unregister_ae_algo_prepare+0x60/0x90 [hnae3] [15278.178039][T50670]  hclge_exit+0x28/0xd0 [hclge] [15278.182730][T50670]  __se_sys_delete_module.isra.0+0x164/0x230 [15278.188550][T50670]  __arm64_sys_delete_module+0x1c/0x30 [15278.193848][T50670]  invoke_syscall+0x50/0x11c [15278.198278][T50670]  el0_svc_common.constprop.0+0x158/0x164 [15278.203837][T50670]  do_el0_svc+0x34/0xcc [15278.207834][T50670]  el0_svc+0x20/0x30  For details, see the following figure.       rmmod hclge              disable VFs ---------------------------------------------------- hclge_exit()            sriov_numvfs_store()   ...                     device_lock()   pci_disable_sriov()     hns3_pci_sriov_configure()                             pci_disable_sriov()                               sriov_disable()     sriov_disable()             if !num_VFs :       if !num_VFs :               return;         return;                 sriov_del_vfs()       sriov_del_vfs()             ...         ...                       klist_put()         klist_put()               ...         ...                     num_VFs = 0;       num_VFs = 0;        device_unlock();  In this patch, when driver is removing, we get the device_lock() to protect num_VFs, just like sriov_numvfs_store().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50299",
                        "url": "https://ubuntu.com/security/CVE-2024-50299",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sctp: properly validate chunk size in sctp_sf_ootb()  A size validation fix similar to that in Commit 50619dbf8db7 (\"sctp: add size validation when walking chunks\") is also required in sctp_sf_ootb() to address a crash reported by syzbot:    BUG: KMSAN: uninit-value in sctp_sf_ootb+0x7f5/0xce0 net/sctp/sm_statefuns.c:3712   sctp_sf_ootb+0x7f5/0xce0 net/sctp/sm_statefuns.c:3712   sctp_do_sm+0x181/0x93d0 net/sctp/sm_sideeffect.c:1166   sctp_endpoint_bh_rcv+0xc38/0xf90 net/sctp/endpointola.c:407   sctp_inq_push+0x2ef/0x380 net/sctp/inqueue.c:88   sctp_rcv+0x3831/0x3b20 net/sctp/input.c:243   sctp4_rcv+0x42/0x50 net/sctp/protocol.c:1159   ip_protocol_deliver_rcu+0xb51/0x13d0 net/ipv4/ip_input.c:205   ip_local_deliver_finish+0x336/0x500 net/ipv4/ip_input.c:233",
                        "cve_priority": "low",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50301",
                        "url": "https://ubuntu.com/security/CVE-2024-50301",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  security/keys: fix slab-out-of-bounds in key_task_permission  KASAN reports an out of bounds read: BUG: KASAN: slab-out-of-bounds in __kuid_val include/linux/uidgid.h:36 BUG: KASAN: slab-out-of-bounds in uid_eq include/linux/uidgid.h:63 [inline] BUG: KASAN: slab-out-of-bounds in key_task_permission+0x394/0x410 security/keys/permission.c:54 Read of size 4 at addr ffff88813c3ab618 by task stress-ng/4362  CPU: 2 PID: 4362 Comm: stress-ng Not tainted 5.10.0-14930-gafbffd6c3ede #15 Call Trace:  __dump_stack lib/dump_stack.c:82 [inline]  dump_stack+0x107/0x167 lib/dump_stack.c:123  print_address_description.constprop.0+0x19/0x170 mm/kasan/report.c:400  __kasan_report.cold+0x6c/0x84 mm/kasan/report.c:560  kasan_report+0x3a/0x50 mm/kasan/report.c:585  __kuid_val include/linux/uidgid.h:36 [inline]  uid_eq include/linux/uidgid.h:63 [inline]  key_task_permission+0x394/0x410 security/keys/permission.c:54  search_nested_keyrings+0x90e/0xe90 security/keys/keyring.c:793  This issue was also reported by syzbot.  It can be reproduced by following these steps(more details [1]): 1. Obtain more than 32 inputs that have similar hashes, which ends with the    pattern '0xxxxxxxe6'. 2. Reboot and add the keys obtained in step 1.  The reproducer demonstrates how this issue happened: 1. In the search_nested_keyrings function, when it iterates through the    slots in a node(below tag ascend_to_node), if the slot pointer is meta    and node->back_pointer != NULL(it means a root), it will proceed to    descend_to_node. However, there is an exception. If node is the root,    and one of the slots points to a shortcut, it will be treated as a    keyring. 2. Whether the ptr is keyring decided by keyring_ptr_is_keyring function.    However, KEYRING_PTR_SUBTYPE is 0x2UL, the same as    ASSOC_ARRAY_PTR_SUBTYPE_MASK. 3. When 32 keys with the similar hashes are added to the tree, the ROOT    has keys with hashes that are not similar (e.g. slot 0) and it splits    NODE A without using a shortcut. When NODE A is filled with keys that    all hashes are xxe6, the keys are similar, NODE A will split with a    shortcut. Finally, it forms the tree as shown below, where slot 6 points    to a shortcut.                        NODE A               +------>+---+       ROOT    |       | 0 | xxe6       +---+   |       +---+  xxxx | 0 | shortcut  :   : xxe6       +---+   |       +---+  xxe6 :   :   |       |   | xxe6       +---+   |       +---+       | 6 |---+       :   : xxe6       +---+           +---+  xxe6 :   :           | f | xxe6       +---+           +---+  xxe6 | f |       +---+  4. As mentioned above, If a slot(slot 6) of the root points to a shortcut,    it may be mistakenly transferred to a key*, leading to a read    out-of-bounds read.  To fix this issue, one should jump to descend_to_node if the ptr is a shortcut, regardless of whether the node is root or not.  [1] https://lore.kernel.org/linux-kernel/1cfa878e-8c7b-4570-8606-21daf5e13ce7@huaweicloud.com/  [jarkko: tweaked the commit message a bit to have an appropriate closes  tag.]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50302",
                        "url": "https://ubuntu.com/security/CVE-2024-50302",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  HID: core: zero-initialize the report buffer  Since the report buffer is used by all kinds of drivers in various ways, let's zero-initialize it during allocation to make sure that it can't be ever used to leak kernel memory via specially-crafted report.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50228",
                        "url": "https://ubuntu.com/security/CVE-2024-50228",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50230",
                        "url": "https://ubuntu.com/security/CVE-2024-50230",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix kernel bug due to missing clearing of checked flag  Syzbot reported that in directory operations after nilfs2 detects filesystem corruption and degrades to read-only, __block_write_begin_int(), which is called to prepare block writes, may fail the BUG_ON check for accesses exceeding the folio/page size, triggering a kernel bug.  This was found to be because the \"checked\" flag of a page/folio was not cleared when it was discarded by nilfs2's own routine, which causes the sanity check of directory entries to be skipped when the directory page/folio is reloaded.  So, fix that.  This was necessary when the use of nilfs2's own page discard routine was applied to more than just metadata files.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50218",
                        "url": "https://ubuntu.com/security/CVE-2024-50218",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow  Syzbot reported a kernel BUG in ocfs2_truncate_inline.  There are two reasons for this: first, the parameter value passed is greater than ocfs2_max_inline_data_with_xattr, second, the start and end parameters of ocfs2_truncate_inline are \"unsigned int\".  So, we need to add a sanity check for byte_start and byte_len right before ocfs2_truncate_inline() in ocfs2_remove_inode_range(), if they are greater than ocfs2_max_inline_data_with_xattr return -EINVAL.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50229",
                        "url": "https://ubuntu.com/security/CVE-2024-50229",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential deadlock with newly created symlinks  Syzbot reported that page_symlink(), called by nilfs_symlink(), triggers memory reclamation involving the filesystem layer, which can result in circular lock dependencies among the reader/writer semaphore nilfs->ns_segctor_sem, s_writers percpu_rwsem (intwrite) and the fs_reclaim pseudo lock.  This is because after commit 21fc61c73c39 (\"don't put symlink bodies in pagecache into highmem\"), the gfp flags of the page cache for symbolic links are overwritten to GFP_KERNEL via inode_nohighmem().  This is not a problem for symlinks read from the backing device, because the __GFP_FS flag is dropped after inode_nohighmem() is called.  However, when a new symlink is created with nilfs_symlink(), the gfp flags remain overwritten to GFP_KERNEL.  Then, memory allocation called from page_symlink() etc.  triggers memory reclamation including the FS layer, which may call nilfs_evict_inode() or nilfs_dirty_inode().  And these can cause a deadlock if they are called while nilfs->ns_segctor_sem is held:  Fix this issue by dropping the __GFP_FS flag from the page cache GFP flags of newly created symlinks in the same way that nilfs_new_inode() and __nilfs_read_inode() do, as a workaround until we adopt nofs allocation scope consistently or improve the locking constraints.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50233",
                        "url": "https://ubuntu.com/security/CVE-2024-50233",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  staging: iio: frequency: ad9832: fix division by zero in ad9832_calc_freqreg()  In the ad9832_write_frequency() function, clk_get_rate() might return 0. This can lead to a division by zero when calling ad9832_calc_freqreg(). The check if (fout > (clk_get_rate(st->mclk) / 2)) does not protect against the case when fout is 0. The ad9832_write_frequency() function is called from ad9832_write(), and fout is derived from a text buffer, which can contain any value.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50234",
                        "url": "https://ubuntu.com/security/CVE-2024-50234",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlegacy: Clear stale interrupts before resuming device  iwl4965 fails upon resume from hibernation on my laptop. The reason seems to be a stale interrupt which isn't being cleared out before interrupts are enabled. We end up with a race beween the resume trying to bring things back up, and the restart work (queued form the interrupt handler) trying to bring things down. Eventually the whole thing blows up.  Fix the problem by clearing out any stale interrupts before interrupts get enabled during resume.  Here's a debug log of the indicent: [   12.042589] ieee80211 phy0: il_isr ISR inta 0x00000080, enabled 0xaa00008b, fh 0x00000000 [   12.042625] ieee80211 phy0: il4965_irq_tasklet inta 0x00000080, enabled 0x00000000, fh 0x00000000 [   12.042651] iwl4965 0000:10:00.0: RF_KILL bit toggled to enable radio. [   12.042653] iwl4965 0000:10:00.0: On demand firmware reload [   12.042690] ieee80211 phy0: il4965_irq_tasklet End inta 0x00000000, enabled 0xaa00008b, fh 0x00000000, flags 0x00000282 [   12.052207] ieee80211 phy0: il4965_mac_start enter [   12.052212] ieee80211 phy0: il_prep_station Add STA to driver ID 31: ff:ff:ff:ff:ff:ff [   12.052244] ieee80211 phy0: il4965_set_hw_ready hardware  ready [   12.052324] ieee80211 phy0: il_apm_init Init card's basic functions [   12.052348] ieee80211 phy0: il_apm_init L1 Enabled; Disabling L0S [   12.055727] ieee80211 phy0: il4965_load_bsm Begin load bsm [   12.056140] ieee80211 phy0: il4965_verify_bsm Begin verify bsm [   12.058642] ieee80211 phy0: il4965_verify_bsm BSM bootstrap uCode image OK [   12.058721] ieee80211 phy0: il4965_load_bsm BSM write complete, poll 1 iterations [   12.058734] ieee80211 phy0: __il4965_up iwl4965 is coming up [   12.058737] ieee80211 phy0: il4965_mac_start Start UP work done. [   12.058757] ieee80211 phy0: __il4965_down iwl4965 is going down [   12.058761] ieee80211 phy0: il_scan_cancel_timeout Scan cancel timeout [   12.058762] ieee80211 phy0: il_do_scan_abort Not performing scan to abort [   12.058765] ieee80211 phy0: il_clear_ucode_stations Clearing ucode stations in driver [   12.058767] ieee80211 phy0: il_clear_ucode_stations No active stations found to be cleared [   12.058819] ieee80211 phy0: _il_apm_stop Stop card, put in low power state [   12.058827] ieee80211 phy0: _il_apm_stop_master stop master [   12.058864] ieee80211 phy0: il4965_clear_free_frames 0 frames on pre-allocated heap on clear. [   12.058869] ieee80211 phy0: Hardware restart was requested [   16.132299] iwl4965 0000:10:00.0: START_ALIVE timeout after 4000ms. [   16.132303] ------------[ cut here ]------------ [   16.132304] Hardware became unavailable upon resume. This could be a software issue prior to suspend or a hardware issue. [   16.132338] WARNING: CPU: 0 PID: 181 at net/mac80211/util.c:1826 ieee80211_reconfig+0x8f/0x14b0 [mac80211] [   16.132390] Modules linked in: ctr ccm sch_fq_codel xt_tcpudp xt_multiport xt_state iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv4 ip_tables x_tables binfmt_misc joydev mousedev btusb btrtl btintel btbcm bluetooth ecdh_generic ecc iTCO_wdt i2c_dev iwl4965 iwlegacy coretemp snd_hda_codec_analog pcspkr psmouse mac80211 snd_hda_codec_generic libarc4 sdhci_pci cqhci sha256_generic sdhci libsha256 firewire_ohci snd_hda_intel snd_intel_dspcfg mmc_core snd_hda_codec snd_hwdep firewire_core led_class iosf_mbi snd_hda_core uhci_hcd lpc_ich crc_itu_t cfg80211 ehci_pci ehci_hcd snd_pcm usbcore mfd_core rfkill snd_timer snd usb_common soundcore video parport_pc parport intel_agp wmi intel_gtt backlight e1000e agpgart evdev [   16.132456] CPU: 0 UID: 0 PID: 181 Comm: kworker/u8:6 Not tainted 6.11.0-cl+ #143 [   16.132460] Hardware name: Hewlett-Packard HP Compaq 6910p/30BE, BIOS 68MCU Ver. F.19 07/06/2010 [   16.132463] Workqueue: async async_run_entry_fn [   16.132469] RIP: 0010:ieee80211_reconfig+0x8f/0x14b0 [mac80211] [   16.132501] Code: da 02 00 0 ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50236",
                        "url": "https://ubuntu.com/security/CVE-2024-50236",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: ath10k: Fix memory leak in management tx  In the current logic, memory is allocated for storing the MSDU context during management packet TX but this memory is not being freed during management TX completion. Similar leaks are seen in the management TX cleanup logic.  Kmemleak reports this problem as below,  unreferenced object 0xffffff80b64ed250 (size 16):   comm \"kworker/u16:7\", pid 148, jiffies 4294687130 (age 714.199s)   hex dump (first 16 bytes):     00 2b d8 d8 80 ff ff ff c4 74 e9 fd 07 00 00 00  .+.......t......   backtrace:     [<ffffffe6e7b245dc>] __kmem_cache_alloc_node+0x1e4/0x2d8     [<ffffffe6e7adde88>] kmalloc_trace+0x48/0x110     [<ffffffe6bbd765fc>] ath10k_wmi_tlv_op_gen_mgmt_tx_send+0xd4/0x1d8 [ath10k_core]     [<ffffffe6bbd3eed4>] ath10k_mgmt_over_wmi_tx_work+0x134/0x298 [ath10k_core]     [<ffffffe6e78d5974>] process_scheduled_works+0x1ac/0x400     [<ffffffe6e78d60b8>] worker_thread+0x208/0x328     [<ffffffe6e78dc890>] kthread+0x100/0x1c0     [<ffffffe6e78166c0>] ret_from_fork+0x10/0x20  Free the memory during completion and cleanup to fix the leak.  Protect the mgmt_pending_tx idr_remove() operation in ath10k_wmi_tlv_op_cleanup_mgmt_tx_send() using ar->data_lock similar to other instances.  Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.2.0-01387-QCAHLSWMTPLZ-1",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50237",
                        "url": "https://ubuntu.com/security/CVE-2024-50237",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower  Avoid potentially crashing in the driver because of uninitialized private data",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50251",
                        "url": "https://ubuntu.com/security/CVE-2024-50251",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nft_payload: sanitize offset and length before calling skb_checksum()  If access to offset + length is larger than the skbuff length, then skb_checksum() triggers BUG_ON().  skb_checksum() internally subtracts the length parameter while iterating over skbuff, BUG_ON(len) at the end of it checks that the expected length to be included in the checksum calculation is fully consumed.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50262",
                        "url": "https://ubuntu.com/security/CVE-2024-50262",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Fix out-of-bounds write in trie_get_next_key()  trie_get_next_key() allocates a node stack with size trie->max_prefixlen, while it writes (trie->max_prefixlen + 1) nodes to the stack when it has full paths from the root to leaves. For example, consider a trie with max_prefixlen is 8, and the nodes with key 0x00/0, 0x00/1, 0x00/2, ... 0x00/8 inserted. Subsequent calls to trie_get_next_key with _key with .prefixlen = 8 make 9 nodes be written on the node stack with size 8.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-53059",
                        "url": "https://ubuntu.com/security/CVE-2024-53059",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlwifi: mvm: Fix response handling in iwl_mvm_send_recovery_cmd()  1. The size of the response packet is not validated. 2. The response buffer is not freed.  Resolve these issues by switching to iwl_mvm_send_cmd_status(), which handles both size validation and frees the buffer.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50142",
                        "url": "https://ubuntu.com/security/CVE-2024-50142",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfrm: validate new SA's prefixlen using SA family when sel.family is unset  This expands the validation introduced in commit 07bf7908950a (\"xfrm: Validate address prefix lengths in the xfrm selector.\")  syzbot created an SA with     usersa.sel.family = AF_UNSPEC     usersa.sel.prefixlen_s = 128     usersa.family = AF_INET  Because of the AF_UNSPEC selector, verify_newsa_info doesn't put limits on prefixlen_{s,d}. But then copy_from_user_state sets x->sel.family to usersa.family (AF_INET). Do the same conversion in verify_newsa_info before validating prefixlen_{s,d}, since that's how prefixlen is going to be used later on.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50116",
                        "url": "https://ubuntu.com/security/CVE-2024-50116",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix kernel bug due to missing clearing of buffer delay flag  Syzbot reported that after nilfs2 reads a corrupted file system image and degrades to read-only, the BUG_ON check for the buffer delay flag in submit_bh_wbc() may fail, causing a kernel bug.  This is because the buffer delay flag is not cleared when clearing the buffer state flags to discard a page/folio or a buffer head. So, fix this.  This became necessary when the use of nilfs2's own page clear routine was expanded.  This state inconsistency does not occur if the buffer is written normally by log writing.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50117",
                        "url": "https://ubuntu.com/security/CVE-2024-50117",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd: Guard against bad data for ATIF ACPI method  If a BIOS provides bad data in response to an ATIF method call this causes a NULL pointer dereference in the caller.  ``` ? show_regs (arch/x86/kernel/dumpstack.c:478 (discriminator 1)) ? __die (arch/x86/kernel/dumpstack.c:423 arch/x86/kernel/dumpstack.c:434) ? page_fault_oops (arch/x86/mm/fault.c:544 (discriminator 2) arch/x86/mm/fault.c:705 (discriminator 2)) ? do_user_addr_fault (arch/x86/mm/fault.c:440 (discriminator 1) arch/x86/mm/fault.c:1232 (discriminator 1)) ? acpi_ut_update_object_reference (drivers/acpi/acpica/utdelete.c:642) ? exc_page_fault (arch/x86/mm/fault.c:1542) ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) ? amdgpu_atif_query_backlight_caps.constprop.0 (drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:387 (discriminator 2)) amdgpu ? amdgpu_atif_query_backlight_caps.constprop.0 (drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:386 (discriminator 1)) amdgpu ```  It has been encountered on at least one system, so guard for it.  (cherry picked from commit c9b7c809b89f24e9372a4e7f02d64c950b07fdee)",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50205",
                        "url": "https://ubuntu.com/security/CVE-2024-50205",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: firewire-lib: Avoid division by zero in apply_constraint_to_size()  The step variable is initialized to zero. It is changed in the loop, but if it's not changed it will remain zero. Add a variable check before the division.  The observed behavior was introduced by commit 826b5de90c0b (\"ALSA: firewire-lib: fix insufficient PCM rule for period/buffer size\"), and it is difficult to show that any of the interval parameters will satisfy the snd_interval_test() condition with data from the amdtp_rate_table[] table.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50127",
                        "url": "https://ubuntu.com/security/CVE-2024-50127",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: sched: fix use-after-free in taprio_change()  In 'taprio_change()', 'admin' pointer may become dangling due to sched switch / removal caused by 'advance_sched()', and critical section protected by 'q->current_entry_lock' is too small to prevent from such a scenario (which causes use-after-free detected by KASAN). Fix this by prefer 'rcu_replace_pointer()' over 'rcu_assign_pointer()' to update 'admin' immediately before an attempt to schedule freeing.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50167",
                        "url": "https://ubuntu.com/security/CVE-2024-50167",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  be2net: fix potential memory leak in be_xmit()  The be_xmit() returns NETDEV_TX_OK without freeing skb in case of be_xmit_enqueue() fails, add dev_kfree_skb_any() to fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50168",
                        "url": "https://ubuntu.com/security/CVE-2024-50168",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sun3_82586: fix potential memory leak in sun3_82586_send_packet()  The sun3_82586_send_packet() returns NETDEV_TX_OK without freeing skb in case of skb->len being too long, add dev_kfree_skb() to fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50131",
                        "url": "https://ubuntu.com/security/CVE-2024-50131",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Consider the NULL character when validating the event length  strlen() returns a string length excluding the null byte. If the string length equals to the maximum buffer length, the buffer will have no space for the NULL terminating character.  This commit checks this condition and returns failure for it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50143",
                        "url": "https://ubuntu.com/security/CVE-2024-50143",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  udf: fix uninit-value use in udf_get_fileshortad  Check for overflow when computing alen in udf_current_aext to mitigate later uninit-value use in udf_get_fileshortad KMSAN bug[1]. After applying the patch reproducer did not trigger any issue[2].  [1] https://syzkaller.appspot.com/bug?extid=8901c4560b7ab5c2f9df [2] https://syzkaller.appspot.com/x/log.txt?x=10242227980000",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50134",
                        "url": "https://ubuntu.com/security/CVE-2024-50134",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/vboxvideo: Replace fake VLA at end of vbva_mouse_pointer_shape with real VLA  Replace the fake VLA at end of the vbva_mouse_pointer_shape shape with a real VLA to fix a \"memcpy: detected field-spanning write error\" warning:  [   13.319813] memcpy: detected field-spanning write (size 16896) of single field \"p->data\" at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 (size 4) [   13.319841] WARNING: CPU: 0 PID: 1105 at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 hgsmi_update_pointer_shape+0x192/0x1c0 [vboxvideo] [   13.320038] Call Trace: [   13.320173]  hgsmi_update_pointer_shape [vboxvideo] [   13.320184]  vbox_cursor_atomic_update [vboxvideo]  Note as mentioned in the added comment it seems the original length calculation for the allocated and send hgsmi buffer is 4 bytes too large. Changing this is not the goal of this patch, so this behavior is kept.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50194",
                        "url": "https://ubuntu.com/security/CVE-2024-50194",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: probes: Fix uprobes for big-endian kernels  The arm64 uprobes code is broken for big-endian kernels as it doesn't convert the in-memory instruction encoding (which is always little-endian) into the kernel's native endianness before analyzing and simulating instructions. This may result in a few distinct problems:  * The kernel may may erroneously reject probing an instruction which can   safely be probed.  * The kernel may erroneously erroneously permit stepping an   instruction out-of-line when that instruction cannot be stepped   out-of-line safely.  * The kernel may erroneously simulate instruction incorrectly dur to   interpretting the byte-swapped encoding.  The endianness mismatch isn't caught by the compiler or sparse because:  * The arch_uprobe::{insn,ixol} fields are encoded as arrays of u8, so   the compiler and sparse have no idea these contain a little-endian   32-bit value. The core uprobes code populates these with a memcpy()   which similarly does not handle endianness.  * While the uprobe_opcode_t type is an alias for __le32, both   arch_uprobe_analyze_insn() and arch_uprobe_skip_sstep() cast from u8[]   to the similarly-named probe_opcode_t, which is an alias for u32.   Hence there is no endianness conversion warning.  Fix this by changing the arch_uprobe::{insn,ixol} fields to __le32 and adding the appropriate __le32_to_cpu() conversions prior to consuming the instruction encoding. The core uprobes copies these fields as opaque ranges of bytes, and so is unaffected by this change.  At the same time, remove MAX_UINSN_BYTES and consistently use AARCH64_INSN_SIZE for clarity.  Tested with the following:  | #include <stdio.h> | #include <stdbool.h> | | #define noinline __attribute__((noinline)) | | static noinline void *adrp_self(void) | { |         void *addr; | |         asm volatile( |         \"       adrp    %x0, adrp_self\\n\" |         \"       add     %x0, %x0, :lo12:adrp_self\\n\" |         : \"=r\" (addr)); | } | | | int main(int argc, char *argv) | { |         void *ptr = adrp_self(); |         bool equal = (ptr == adrp_self); | |         printf(\"adrp_self   => %p\\n\" |                \"adrp_self() => %p\\n\" |                \"%s\\n\", |                adrp_self, ptr, equal ? \"EQUAL\" : \"NOT EQUAL\"); | |         return 0; | }  .... where the adrp_self() function was compiled to:  | 00000000004007e0 <adrp_self>: |   4007e0:       90000000        adrp    x0, 400000 <__ehdr_start> |   4007e4:       911f8000        add     x0, x0, #0x7e0 |   4007e8:       d65f03c0        ret  Before this patch, the ADRP is not recognized, and is assumed to be steppable, resulting in corruption of the result:  | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL | # echo 'p /root/adrp-self:0x007e0' > /sys/kernel/tracing/uprobe_events | # echo 1 > /sys/kernel/tracing/events/uprobes/enable | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0xffffffffff7e0 | NOT EQUAL  After this patch, the ADRP is correctly recognized and simulated:  | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL | # | # echo 'p /root/adrp-self:0x007e0' > /sys/kernel/tracing/uprobe_events | # echo 1 > /sys/kernel/tracing/events/uprobes/enable | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50148",
                        "url": "https://ubuntu.com/security/CVE-2024-50148",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: bnep: fix wild-memory-access in proto_unregister  There's issue as follows:   KASAN: maybe wild-memory-access in range [0xdead...108-0xdead...10f]   CPU: 3 UID: 0 PID: 2805 Comm: rmmod Tainted: G        W   RIP: 0010:proto_unregister+0xee/0x400   Call Trace:    <TASK>    __do_sys_delete_module+0x318/0x580    do_syscall_64+0xc1/0x1d0    entry_SYSCALL_64_after_hwframe+0x77/0x7f  As bnep_init() ignore bnep_sock_init()'s return value, and bnep_sock_init() will cleanup all resource. Then when remove bnep module will call bnep_sock_cleanup() to cleanup sock's resource. To solve above issue just return bnep_sock_init()'s return value in bnep_exit().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50150",
                        "url": "https://ubuntu.com/security/CVE-2024-50150",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: altmode should keep reference to parent  The altmode device release refers to its parent device, but without keeping a reference to it.  When registering the altmode, get a reference to the parent and put it in the release function.  Before this fix, when using CONFIG_DEBUG_KOBJECT_RELEASE, we see issues like this:  [   43.572860] kobject: 'port0.0' (ffff8880057ba008): kobject_release, parent 0000000000000000 (delayed 3000) [   43.573532] kobject: 'port0.1' (ffff8880057bd008): kobject_release, parent 0000000000000000 (delayed 1000) [   43.574407] kobject: 'port0' (ffff8880057b9008): kobject_release, parent 0000000000000000 (delayed 3000) [   43.575059] kobject: 'port1.0' (ffff8880057ca008): kobject_release, parent 0000000000000000 (delayed 4000) [   43.575908] kobject: 'port1.1' (ffff8880057c9008): kobject_release, parent 0000000000000000 (delayed 4000) [   43.576908] kobject: 'typec' (ffff8880062dbc00): kobject_release, parent 0000000000000000 (delayed 4000) [   43.577769] kobject: 'port1' (ffff8880057bf008): kobject_release, parent 0000000000000000 (delayed 3000) [   46.612867] ================================================================== [   46.613402] BUG: KASAN: slab-use-after-free in typec_altmode_release+0x38/0x129 [   46.614003] Read of size 8 at addr ffff8880057b9118 by task kworker/2:1/48 [   46.614538] [   46.614668] CPU: 2 UID: 0 PID: 48 Comm: kworker/2:1 Not tainted 6.12.0-rc1-00138-gedbae730ad31 #535 [   46.615391] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014 [   46.616042] Workqueue: events kobject_delayed_cleanup [   46.616446] Call Trace: [   46.616648]  <TASK> [   46.616820]  dump_stack_lvl+0x5b/0x7c [   46.617112]  ? typec_altmode_release+0x38/0x129 [   46.617470]  print_report+0x14c/0x49e [   46.617769]  ? rcu_read_unlock_sched+0x56/0x69 [   46.618117]  ? __virt_addr_valid+0x19a/0x1ab [   46.618456]  ? kmem_cache_debug_flags+0xc/0x1d [   46.618807]  ? typec_altmode_release+0x38/0x129 [   46.619161]  kasan_report+0x8d/0xb4 [   46.619447]  ? typec_altmode_release+0x38/0x129 [   46.619809]  ? process_scheduled_works+0x3cb/0x85f [   46.620185]  typec_altmode_release+0x38/0x129 [   46.620537]  ? process_scheduled_works+0x3cb/0x85f [   46.620907]  device_release+0xaf/0xf2 [   46.621206]  kobject_delayed_cleanup+0x13b/0x17a [   46.621584]  process_scheduled_works+0x4f6/0x85f [   46.621955]  ? __pfx_process_scheduled_works+0x10/0x10 [   46.622353]  ? hlock_class+0x31/0x9a [   46.622647]  ? lock_acquired+0x361/0x3c3 [   46.622956]  ? move_linked_works+0x46/0x7d [   46.623277]  worker_thread+0x1ce/0x291 [   46.623582]  ? __kthread_parkme+0xc8/0xdf [   46.623900]  ? __pfx_worker_thread+0x10/0x10 [   46.624236]  kthread+0x17e/0x190 [   46.624501]  ? kthread+0xfb/0x190 [   46.624756]  ? __pfx_kthread+0x10/0x10 [   46.625015]  ret_from_fork+0x20/0x40 [   46.625268]  ? __pfx_kthread+0x10/0x10 [   46.625532]  ret_from_fork_asm+0x1a/0x30 [   46.625805]  </TASK> [   46.625953] [   46.626056] Allocated by task 678: [   46.626287]  kasan_save_stack+0x24/0x44 [   46.626555]  kasan_save_track+0x14/0x2d [   46.626811]  __kasan_kmalloc+0x3f/0x4d [   46.627049]  __kmalloc_noprof+0x1bf/0x1f0 [   46.627362]  typec_register_port+0x23/0x491 [   46.627698]  cros_typec_probe+0x634/0xbb6 [   46.628026]  platform_probe+0x47/0x8c [   46.628311]  really_probe+0x20a/0x47d [   46.628605]  device_driver_attach+0x39/0x72 [   46.628940]  bind_store+0x87/0xd7 [   46.629213]  kernfs_fop_write_iter+0x1aa/0x218 [   46.629574]  vfs_write+0x1d6/0x29b [   46.629856]  ksys_write+0xcd/0x13b [   46.630128]  do_syscall_64+0xd4/0x139 [   46.630420]  entry_SYSCALL_64_after_hwframe+0x76/0x7e [   46.630820] [   46.630946] Freed by task 48: [   46.631182]  kasan_save_stack+0x24/0x44 [   46.631493]  kasan_save_track+0x14/0x2d [   46.631799]  kasan_save_free_info+0x3f/0x4d [   46.632144]  __kasan_slab_free+0x37/0x45 [   46.632474] ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50151",
                        "url": "https://ubuntu.com/security/CVE-2024-50151",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smb: client: fix OOBs when building SMB2_IOCTL request  When using encryption, either enforced by the server or when using 'seal' mount option, the client will squash all compound request buffers down for encryption into a single iov in smb2_set_next_command().  SMB2_ioctl_init() allocates a small buffer (448 bytes) to hold the SMB2_IOCTL request in the first iov, and if the user passes an input buffer that is greater than 328 bytes, smb2_set_next_command() will end up writing off the end of @rqst->iov[0].iov_base as shown below:    mount.cifs //srv/share /mnt -o ...,seal   ln -s $(perl -e \"print('a')for 1..1024\") /mnt/link    BUG: KASAN: slab-out-of-bounds in   smb2_set_next_command.cold+0x1d6/0x24c [cifs]   Write of size 4116 at addr ffff8881148fcab8 by task ln/859    CPU: 1 UID: 0 PID: 859 Comm: ln Not tainted 6.12.0-rc3 #1   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS   1.16.3-2.fc40 04/01/2014   Call Trace:    <TASK>    dump_stack_lvl+0x5d/0x80    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    print_report+0x156/0x4d9    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    ? __virt_addr_valid+0x145/0x310    ? __phys_addr+0x46/0x90    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    kasan_report+0xda/0x110    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    kasan_check_range+0x10f/0x1f0    __asan_memcpy+0x3c/0x60    smb2_set_next_command.cold+0x1d6/0x24c [cifs]    smb2_compound_op+0x238c/0x3840 [cifs]    ? kasan_save_track+0x14/0x30    ? kasan_save_free_info+0x3b/0x70    ? vfs_symlink+0x1a1/0x2c0    ? do_symlinkat+0x108/0x1c0    ? __pfx_smb2_compound_op+0x10/0x10 [cifs]    ? kmem_cache_free+0x118/0x3e0    ? cifs_get_writable_path+0xeb/0x1a0 [cifs]    smb2_get_reparse_inode+0x423/0x540 [cifs]    ? __pfx_smb2_get_reparse_inode+0x10/0x10 [cifs]    ? rcu_is_watching+0x20/0x50    ? __kmalloc_noprof+0x37c/0x480    ? smb2_create_reparse_symlink+0x257/0x490 [cifs]    ? smb2_create_reparse_symlink+0x38f/0x490 [cifs]    smb2_create_reparse_symlink+0x38f/0x490 [cifs]    ? __pfx_smb2_create_reparse_symlink+0x10/0x10 [cifs]    ? find_held_lock+0x8a/0xa0    ? hlock_class+0x32/0xb0    ? __build_path_from_dentry_optional_prefix+0x19d/0x2e0 [cifs]    cifs_symlink+0x24f/0x960 [cifs]    ? __pfx_make_vfsuid+0x10/0x10    ? __pfx_cifs_symlink+0x10/0x10 [cifs]    ? make_vfsgid+0x6b/0xc0    ? generic_permission+0x96/0x2d0    vfs_symlink+0x1a1/0x2c0    do_symlinkat+0x108/0x1c0    ? __pfx_do_symlinkat+0x10/0x10    ? strncpy_from_user+0xaa/0x160    __x64_sys_symlinkat+0xb9/0xf0    do_syscall_64+0xbb/0x1d0    entry_SYSCALL_64_after_hwframe+0x77/0x7f   RIP: 0033:0x7f08d75c13bb",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50171",
                        "url": "https://ubuntu.com/security/CVE-2024-50171",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: systemport: fix potential memory leak in bcm_sysport_xmit()  The bcm_sysport_xmit() returns NETDEV_TX_OK without freeing skb in case of dma_map_single() fails, add dev_kfree_skb() to fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50202",
                        "url": "https://ubuntu.com/security/CVE-2024-50202",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: propagate directory read errors from nilfs_find_entry()  Syzbot reported that a task hang occurs in vcs_open() during a fuzzing test for nilfs2.  The root cause of this problem is that in nilfs_find_entry(), which searches for directory entries, ignores errors when loading a directory page/folio via nilfs_get_folio() fails.  If the filesystem images is corrupted, and the i_size of the directory inode is large, and the directory page/folio is successfully read but fails the sanity check, for example when it is zero-filled, nilfs_check_folio() may continue to spit out error messages in bursts.  Fix this issue by propagating the error to the callers when loading a page/folio fails in nilfs_find_entry().  The current interface of nilfs_find_entry() and its callers is outdated and cannot propagate error codes such as -EIO and -ENOMEM returned via nilfs_find_entry(), so fix it together.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50074",
                        "url": "https://ubuntu.com/security/CVE-2024-50074",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parport: Proper fix for array out-of-bounds access  The recent fix for array out-of-bounds accesses replaced sprintf() calls blindly with snprintf().  However, since snprintf() returns the would-be-printed size, not the actually output size, the length calculation can still go over the given limit.  Use scnprintf() instead of snprintf(), which returns the actually output letters, for addressing the potential out-of-bounds access properly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-29 01:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50082",
                        "url": "https://ubuntu.com/security/CVE-2024-50082",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  blk-rq-qos: fix crash on rq_qos_wait vs. rq_qos_wake_function race  We're seeing crashes from rq_qos_wake_function that look like this:    BUG: unable to handle page fault for address: ffffafe180a40084   #PF: supervisor write access in kernel mode   #PF: error_code(0x0002) - not-present page   PGD 100000067 P4D 100000067 PUD 10027c067 PMD 10115d067 PTE 0   Oops: Oops: 0002 [#1] PREEMPT SMP PTI   CPU: 17 UID: 0 PID: 0 Comm: swapper/17 Not tainted 6.12.0-rc3-00013-geca631b8fe80 #11   Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014   RIP: 0010:_raw_spin_lock_irqsave+0x1d/0x40   Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 41 54 9c 41 5c fa 65 ff 05 62 97 30 4c 31 c0 ba 01 00 00 00 <f0> 0f b1 17 75 0a 4c 89 e0 41 5c c3 cc cc cc cc 89 c6 e8 2c 0b 00   RSP: 0018:ffffafe180580ca0 EFLAGS: 00010046   RAX: 0000000000000000 RBX: ffffafe180a3f7a8 RCX: 0000000000000011   RDX: 0000000000000001 RSI: 0000000000000003 RDI: ffffafe180a40084   RBP: 0000000000000000 R08: 00000000001e7240 R09: 0000000000000011   R10: 0000000000000028 R11: 0000000000000888 R12: 0000000000000002   R13: ffffafe180a40084 R14: 0000000000000000 R15: 0000000000000003   FS:  0000000000000000(0000) GS:ffff9aaf1f280000(0000) knlGS:0000000000000000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: ffffafe180a40084 CR3: 000000010e428002 CR4: 0000000000770ef0   DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000   DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400   PKRU: 55555554   Call Trace:    <IRQ>    try_to_wake_up+0x5a/0x6a0    rq_qos_wake_function+0x71/0x80    __wake_up_common+0x75/0xa0    __wake_up+0x36/0x60    scale_up.part.0+0x50/0x110    wb_timer_fn+0x227/0x450    ...  So rq_qos_wake_function() calls wake_up_process(data->task), which calls try_to_wake_up(), which faults in raw_spin_lock_irqsave(&p->pi_lock).  p comes from data->task, and data comes from the waitqueue entry, which is stored on the waiter's stack in rq_qos_wait(). Analyzing the core dump with drgn, I found that the waiter had already woken up and moved on to a completely unrelated code path, clobbering what was previously data->task. Meanwhile, the waker was passing the clobbered garbage in data->task to wake_up_process(), leading to the crash.  What's happening is that in between rq_qos_wake_function() deleting the waitqueue entry and calling wake_up_process(), rq_qos_wait() is finding that it already got a token and returning. The race looks like this:  rq_qos_wait()                           rq_qos_wake_function() ============================================================== prepare_to_wait_exclusive()                                         data->got_token = true;                                         list_del_init(&curr->entry); if (data.got_token)         break; finish_wait(&rqw->wait, &data.wq);   ^- returns immediately because      list_empty_careful(&wq_entry->entry)      is true ... return, go do something else ...                                         wake_up_process(data->task)                                           (NO LONGER VALID!)-^  Normally, finish_wait() is supposed to synchronize against the waker. But, as noted above, it is returning immediately because the waitqueue entry has already been removed from the waitqueue.  The bug is that rq_qos_wake_function() is accessing the waitqueue entry AFTER deleting it. Note that autoremove_wake_function() wakes the waiter and THEN deletes the waitqueue entry, which is the proper order.  Fix it by swapping the order. We also need to use list_del_init_careful() to match the list_empty_careful() in finish_wait().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-29 01:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-40953",
                        "url": "https://ubuntu.com/security/CVE-2024-40953",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()  Use {READ,WRITE}_ONCE() to access kvm->last_boosted_vcpu to ensure the loads and stores are atomic.  In the extremely unlikely scenario the compiler tears the stores, it's theoretically possible for KVM to attempt to get a vCPU using an out-of-bounds index, e.g. if the write is split into multiple 8-bit stores, and is paired with a 32-bit load on a VM with 257 vCPUs:    CPU0                              CPU1   last_boosted_vcpu = 0xff;                                      (last_boosted_vcpu = 0x100)                                     last_boosted_vcpu[15:8] = 0x01;   i = (last_boosted_vcpu = 0x1ff)                                     last_boosted_vcpu[7:0] = 0x00;    vcpu = kvm->vcpu_array[0x1ff];  As detected by KCSAN:    BUG: KCSAN: data-race in kvm_vcpu_on_spin [kvm] / kvm_vcpu_on_spin [kvm]    write to 0xffffc90025a92344 of 4 bytes by task 4340 on cpu 16:   kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4112) kvm   handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel   vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? \t\t arch/x86/kvm/vmx/vmx.c:6606) kvm_intel   vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm   kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm   kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm   __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)   __x64_sys_ioctl (fs/ioctl.c:890)   x64_sys_call (arch/x86/entry/syscall_64.c:33)   do_syscall_64 (arch/x86/entry/common.c:?)   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)    read to 0xffffc90025a92344 of 4 bytes by task 4342 on cpu 4:   kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4069) kvm   handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel   vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? \t\t\tarch/x86/kvm/vmx/vmx.c:6606) kvm_intel   vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm   kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm   kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm   __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)   __x64_sys_ioctl (fs/ioctl.c:890)   x64_sys_call (arch/x86/entry/syscall_64.c:33)   do_syscall_64 (arch/x86/entry/common.c:?)   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)    value changed: 0x00000012 -> 0x00000000",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-12 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50199",
                        "url": "https://ubuntu.com/security/CVE-2024-50199",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mm/swapfile: skip HugeTLB pages for unuse_vma  I got a bad pud error and lost a 1GB HugeTLB when calling swapoff.  The problem can be reproduced by the following steps:   1. Allocate an anonymous 1GB HugeTLB and some other anonymous memory.  2. Swapout the above anonymous memory.  3. run swapoff and we will get a bad pud error in kernel message:    mm/pgtable-generic.c:42: bad pud 00000000743d215d(84000001400000e7)  We can tell that pud_clear_bad is called by pud_none_or_clear_bad in unuse_pud_range() by ftrace.  And therefore the HugeTLB pages will never be freed because we lost it from page table.  We can skip HugeTLB pages for unuse_vma to fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50099",
                        "url": "https://ubuntu.com/security/CVE-2024-50099",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: probes: Remove broken LDR (literal) uprobe support  The simulate_ldr_literal() and simulate_ldrsw_literal() functions are unsafe to use for uprobes. Both functions were originally written for use with kprobes, and access memory with plain C accesses. When uprobes was added, these were reused unmodified even though they cannot safely access user memory.  There are three key problems:  1) The plain C accesses do not have corresponding extable entries, and    thus if they encounter a fault the kernel will treat these as    unintentional accesses to user memory, resulting in a BUG() which    will kill the kernel thread, and likely lead to further issues (e.g.    lockup or panic()).  2) The plain C accesses are subject to HW PAN and SW PAN, and so when    either is in use, any attempt to simulate an access to user memory    will fault. Thus neither simulate_ldr_literal() nor    simulate_ldrsw_literal() can do anything useful when simulating a    user instruction on any system with HW PAN or SW PAN.  3) The plain C accesses are privileged, as they run in kernel context,    and in practice can access a small range of kernel virtual addresses.    The instructions they simulate have a range of +/-1MiB, and since the    simulated instructions must itself be a user instructions in the    TTBR0 address range, these can address the final 1MiB of the TTBR1    acddress range by wrapping downwards from an address in the first    1MiB of the TTBR0 address range.     In contemporary kernels the last 8MiB of TTBR1 address range is    reserved, and accesses to this will always fault, meaning this is no    worse than (1).     Historically, it was theoretically possible for the linear map or    vmemmap to spill into the final 8MiB of the TTBR1 address range, but    in practice this is extremely unlikely to occur as this would    require either:     * Having enough physical memory to fill the entire linear map all the      way to the final 1MiB of the TTBR1 address range.     * Getting unlucky with KASLR randomization of the linear map such      that the populated region happens to overlap with the last 1MiB of      the TTBR address range.     ... and in either case if we were to spill into the final page there    would be larger problems as the final page would alias with error    pointers.  Practically speaking, (1) and (2) are the big issues. Given there have been no reports of problems since the broken code was introduced, it appears that no-one is relying on probing these instructions with uprobes.  Avoid these issues by not allowing uprobes on LDR (literal) and LDRSW (literal), limiting the use of simulate_ldr_literal() and simulate_ldrsw_literal() to kprobes. Attempts to place uprobes on LDR (literal) and LDRSW (literal) will be rejected as arm_probe_decode_insn() will return INSN_REJECTED. In future we can consider introducing working uprobes support for these instructions, but this will require more significant work.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50195",
                        "url": "https://ubuntu.com/security/CVE-2024-50195",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  posix-clock: Fix missing timespec64 check in pc_clock_settime()  As Andrew pointed out, it will make sense that the PTP core checked timespec64 struct's tv_sec and tv_nsec range before calling ptp->info->settime64().  As the man manual of clock_settime() said, if tp.tv_sec is negative or tp.tv_nsec is outside the range [0..999,999,999], it should return EINVAL, which include dynamic clocks which handles PTP clock, and the condition is consistent with timespec64_valid(). As Thomas suggested, timespec64_valid() only check the timespec is valid, but not ensure that the time is in a valid range, so check it ahead using timespec64_valid_strict() in pc_clock_settime() and return -EINVAL if not valid.  There are some drivers that use tp->tv_sec and tp->tv_nsec directly to write registers without validity checks and assume that the higher layer has checked it, which is dangerous and will benefit from this, such as hclge_ptp_settime(), igb_ptp_settime_i210(), _rcar_gen4_ptp_settime(), and some drivers can remove the checks of itself.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50096",
                        "url": "https://ubuntu.com/security/CVE-2024-50096",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nouveau/dmem: Fix vulnerability in migrate_to_ram upon copy error  The `nouveau_dmem_copy_one` function ensures that the copy push command is sent to the device firmware but does not track whether it was executed successfully.  In the case of a copy error (e.g., firmware or hardware failure), the copy push command will be sent via the firmware channel, and `nouveau_dmem_copy_one` will likely report success, leading to the `migrate_to_ram` function returning a dirty HIGH_USER page to the user.  This can result in a security vulnerability, as a HIGH_USER page that may contain sensitive or corrupted data could be returned to the user.  To prevent this vulnerability, we allocate a zero page. Thus, in case of an error, a non-dirty (zero) page will be returned to the user.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 17:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50024",
                        "url": "https://ubuntu.com/security/CVE-2024-50024",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: Fix an unsafe loop on the list  The kernel may crash when deleting a genetlink family if there are still listeners for that family:  Oops: Kernel access of bad area, sig: 11 [#1]   ...   NIP [c000000000c080bc] netlink_update_socket_mc+0x3c/0xc0   LR [c000000000c0f764] __netlink_clear_multicast_users+0x74/0xc0   Call Trace: __netlink_clear_multicast_users+0x74/0xc0 genl_unregister_family+0xd4/0x2d0  Change the unsafe loop on the list to a safe one, because inside the loop there is an element removal from this list.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49878",
                        "url": "https://ubuntu.com/security/CVE-2024-49878",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  resource: fix region_intersects() vs add_memory_driver_managed()  On a system with CXL memory, the resource tree (/proc/iomem) related to CXL memory may look like something as follows.  490000000-50fffffff : CXL Window 0   490000000-50fffffff : region0     490000000-50fffffff : dax0.0       490000000-50fffffff : System RAM (kmem)  Because drivers/dax/kmem.c calls add_memory_driver_managed() during onlining CXL memory, which makes \"System RAM (kmem)\" a descendant of \"CXL Window X\".  This confuses region_intersects(), which expects all \"System RAM\" resources to be at the top level of iomem_resource.  This can lead to bugs.  For example, when the following command line is executed to write some memory in CXL memory range via /dev/mem,   $ dd if=data of=/dev/mem bs=$((1 << 10)) seek=$((0x490000000 >> 10)) count=1  dd: error writing '/dev/mem': Bad address  1+0 records in  0+0 records out  0 bytes copied, 0.0283507 s, 0.0 kB/s  the command fails as expected.  However, the error code is wrong.  It should be \"Operation not permitted\" instead of \"Bad address\".  More seriously, the /dev/mem permission checking in devmem_is_allowed() passes incorrectly.  Although the accessing is prevented later because ioremap() isn't allowed to map system RAM, it is a potential security issue.  During command executing, the following warning is reported in the kernel log for calling ioremap() on system RAM.   ioremap on RAM at 0x0000000490000000 - 0x0000000490000fff  WARNING: CPU: 2 PID: 416 at arch/x86/mm/ioremap.c:216 __ioremap_caller.constprop.0+0x131/0x35d  Call Trace:   memremap+0xcb/0x184   xlate_dev_mem_ptr+0x25/0x2f   write_mem+0x94/0xfb   vfs_write+0x128/0x26d   ksys_write+0xac/0xfe   do_syscall_64+0x9a/0xfd   entry_SYSCALL_64_after_hwframe+0x4b/0x53  The details of command execution process are as follows.  In the above resource tree, \"System RAM\" is a descendant of \"CXL Window 0\" instead of a top level resource.  So, region_intersects() will report no System RAM resources in the CXL memory region incorrectly, because it only checks the top level resources.  Consequently, devmem_is_allowed() will return 1 (allow access via /dev/mem) for CXL memory region incorrectly. Fortunately, ioremap() doesn't allow to map System RAM and reject the access.  So, region_intersects() needs to be fixed to work correctly with the resource tree with \"System RAM\" not at top level as above.  To fix it, if we found a unmatched resource in the top level, we will continue to search matched resources in its descendant resources.  So, we will not miss any matched resources in resource tree anymore.  In the new implementation, an example resource tree  |------------- \"CXL Window 0\" ------------| |-- \"System RAM\" --|  will behave similar as the following fake resource tree for region_intersects(, IORESOURCE_SYSTEM_RAM, ),  |-- \"System RAM\" --||-- \"CXL Window 0a\" --|  Where \"CXL Window 0a\" is part of the original \"CXL Window 0\" that isn't covered by \"System RAM\".",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50033",
                        "url": "https://ubuntu.com/security/CVE-2024-50033",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  slip: make slhc_remember() more robust against malicious packets  syzbot found that slhc_remember() was missing checks against malicious packets [1].  slhc_remember() only checked the size of the packet was at least 20, which is not good enough.  We need to make sure the packet includes the IPv4 and TCP header that are supposed to be carried.  Add iph and th pointers to make the code more readable.  [1]  BUG: KMSAN: uninit-value in slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666   slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666   ppp_receive_nonmp_frame+0xe45/0x35e0 drivers/net/ppp/ppp_generic.c:2455   ppp_receive_frame drivers/net/ppp/ppp_generic.c:2372 [inline]   ppp_do_recv+0x65f/0x40d0 drivers/net/ppp/ppp_generic.c:2212   ppp_input+0x7dc/0xe60 drivers/net/ppp/ppp_generic.c:2327   pppoe_rcv_core+0x1d3/0x720 drivers/net/ppp/pppoe.c:379   sk_backlog_rcv+0x13b/0x420 include/net/sock.h:1113   __release_sock+0x1da/0x330 net/core/sock.c:3072   release_sock+0x6b/0x250 net/core/sock.c:3626   pppoe_sendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was created at:   slab_post_alloc_hook mm/slub.c:4091 [inline]   slab_alloc_node mm/slub.c:4134 [inline]   kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4186   kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:587   __alloc_skb+0x363/0x7b0 net/core/skbuff.c:678   alloc_skb include/linux/skbuff.h:1322 [inline]   sock_wmalloc+0xfe/0x1a0 net/core/sock.c:2732   pppoe_sendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  CPU: 0 UID: 0 PID: 5460 Comm: syz.2.33 Not tainted 6.12.0-rc2-syzkaller-00006-g87d6aab2389e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50035",
                        "url": "https://ubuntu.com/security/CVE-2024-50035",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ppp: fix ppp_async_encode() illegal access  syzbot reported an issue in ppp_async_encode() [1]  In this case, pppoe_sendmsg() is called with a zero size. Then ppp_async_encode() is called with an empty skb.  BUG: KMSAN: uninit-value in ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline]  BUG: KMSAN: uninit-value in ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675   ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline]   ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675   ppp_async_send+0x130/0x1b0 drivers/net/ppp/ppp_async.c:634   ppp_channel_bridge_input drivers/net/ppp/ppp_generic.c:2280 [inline]   ppp_input+0x1f1/0xe60 drivers/net/ppp/ppp_generic.c:2304   pppoe_rcv_core+0x1d3/0x720 drivers/net/ppp/pppoe.c:379   sk_backlog_rcv+0x13b/0x420 include/net/sock.h:1113   __release_sock+0x1da/0x330 net/core/sock.c:3072   release_sock+0x6b/0x250 net/core/sock.c:3626   pppoe_sendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was created at:   slab_post_alloc_hook mm/slub.c:4092 [inline]   slab_alloc_node mm/slub.c:4135 [inline]   kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4187   kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:587   __alloc_skb+0x363/0x7b0 net/core/skbuff.c:678   alloc_skb include/linux/skbuff.h:1322 [inline]   sock_wmalloc+0xfe/0x1a0 net/core/sock.c:2732   pppoe_sendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  CPU: 1 UID: 0 PID: 5411 Comm: syz.1.14 Not tainted 6.12.0-rc1-syzkaller-00165-g360c1f1f24c6 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50039",
                        "url": "https://ubuntu.com/security/CVE-2024-50039",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: accept TCA_STAB only for root qdisc  Most qdiscs maintain their backlog using qdisc_pkt_len(skb) on the assumption it is invariant between the enqueue() and dequeue() handlers.  Unfortunately syzbot can crash a host rather easily using a TBF + SFQ combination, with an STAB on SFQ [1]  We can't support TCA_STAB on arbitrary level, this would require to maintain per-qdisc storage.  [1] [   88.796496] BUG: kernel NULL pointer dereference, address: 0000000000000000 [   88.798611] #PF: supervisor read access in kernel mode [   88.799014] #PF: error_code(0x0000) - not-present page [   88.799506] PGD 0 P4D 0 [   88.799829] Oops: Oops: 0000 [#1] SMP NOPTI [   88.800569] CPU: 14 UID: 0 PID: 2053 Comm: b371744477 Not tainted 6.12.0-rc1-virtme #1117 [   88.801107] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [   88.801779] RIP: 0010:sfq_dequeue (net/sched/sch_sfq.c:272 net/sched/sch_sfq.c:499) sch_sfq [ 88.802544] Code: 0f b7 50 12 48 8d 04 d5 00 00 00 00 48 89 d6 48 29 d0 48 8b 91 c0 01 00 00 48 c1 e0 03 48 01 c2 66 83 7a 1a 00 7e c0 48 8b 3a <4c> 8b 07 4c 89 02 49 89 50 08 48 c7 47 08 00 00 00 00 48 c7 07 00 All code ========    0:\t0f b7 50 12          \tmovzwl 0x12(%rax),%edx    4:\t48 8d 04 d5 00 00 00 \tlea    0x0(,%rdx,8),%rax    b:\t00    c:\t48 89 d6             \tmov    %rdx,%rsi    f:\t48 29 d0             \tsub    %rdx,%rax   12:\t48 8b 91 c0 01 00 00 \tmov    0x1c0(%rcx),%rdx   19:\t48 c1 e0 03          \tshl    $0x3,%rax   1d:\t48 01 c2             \tadd    %rax,%rdx   20:\t66 83 7a 1a 00       \tcmpw   $0x0,0x1a(%rdx)   25:\t7e c0                \tjle    0xffffffffffffffe7   27:\t48 8b 3a             \tmov    (%rdx),%rdi   2a:*\t4c 8b 07             \tmov    (%rdi),%r8\t\t<-- trapping instruction   2d:\t4c 89 02             \tmov    %r8,(%rdx)   30:\t49 89 50 08          \tmov    %rdx,0x8(%r8)   34:\t48 c7 47 08 00 00 00 \tmovq   $0x0,0x8(%rdi)   3b:\t00   3c:\t48                   \trex.W   3d:\tc7                   \t.byte 0xc7   3e:\t07                   \t(bad) \t...  Code starting with the faulting instruction ===========================================    0:\t4c 8b 07             \tmov    (%rdi),%r8    3:\t4c 89 02             \tmov    %r8,(%rdx)    6:\t49 89 50 08          \tmov    %rdx,0x8(%r8)    a:\t48 c7 47 08 00 00 00 \tmovq   $0x0,0x8(%rdi)   11:\t00   12:\t48                   \trex.W   13:\tc7                   \t.byte 0xc7   14:\t07                   \t(bad) \t... [   88.803721] RSP: 0018:ffff9a1f892b7d58 EFLAGS: 00000206 [   88.804032] RAX: 0000000000000000 RBX: ffff9a1f8420c800 RCX: ffff9a1f8420c800 [   88.804560] RDX: ffff9a1f81bc1440 RSI: 0000000000000000 RDI: 0000000000000000 [   88.805056] RBP: ffffffffc04bb0e0 R08: 0000000000000001 R09: 00000000ff7f9a1f [   88.805473] R10: 000000000001001b R11: 0000000000009a1f R12: 0000000000000140 [   88.806194] R13: 0000000000000001 R14: ffff9a1f886df400 R15: ffff9a1f886df4ac [   88.806734] FS:  00007f445601a740(0000) GS:ffff9a2e7fd80000(0000) knlGS:0000000000000000 [   88.807225] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [   88.807672] CR2: 0000000000000000 CR3: 000000050cc46000 CR4: 00000000000006f0 [   88.808165] Call Trace: [   88.808459]  <TASK> [   88.808710] ? __die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434) [   88.809261] ? page_fault_oops (arch/x86/mm/fault.c:715) [   88.809561] ? exc_page_fault (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:87 ./arch/x86/include/asm/irqflags.h:147 arch/x86/mm/fault.c:1489 arch/x86/mm/fault.c:1539) [   88.809806] ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) [   88.810074] ? sfq_dequeue (net/sched/sch_sfq.c:272 net/sched/sch_sfq.c:499) sch_sfq [   88.810411] sfq_reset (net/sched/sch_sfq.c:525) sch_sfq [   88.810671] qdisc_reset (./include/linux/skbuff.h:2135 ./include/linux/skbuff.h:2441 ./include/linux/skbuff.h:3304 ./include/linux/skbuff.h:3310 net/sched/sch_g ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50040",
                        "url": "https://ubuntu.com/security/CVE-2024-50040",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  igb: Do not bring the device up after non-fatal error  Commit 004d25060c78 (\"igb: Fix igb_down hung on surprise removal\") changed igb_io_error_detected() to ignore non-fatal pcie errors in order to avoid hung task that can happen when igb_down() is called multiple times. This caused an issue when processing transient non-fatal errors. igb_io_resume(), which is called after igb_io_error_detected(), assumes that device is brought down by igb_io_error_detected() if the interface is up. This resulted in panic with stacktrace below.  [ T3256] igb 0000:09:00.0 haeth0: igb: haeth0 NIC Link is Down [  T292] pcieport 0000:00:1c.5: AER: Uncorrected (Non-Fatal) error received: 0000:09:00.0 [  T292] igb 0000:09:00.0: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Requester ID) [  T292] igb 0000:09:00.0:   device [8086:1537] error status/mask=00004000/00000000 [  T292] igb 0000:09:00.0:    [14] CmpltTO [  200.105524,009][  T292] igb 0000:09:00.0: AER:   TLP Header: 00000000 00000000 00000000 00000000 [  T292] pcieport 0000:00:1c.5: AER: broadcast error_detected message [  T292] igb 0000:09:00.0: Non-correctable non-fatal error reported. [  T292] pcieport 0000:00:1c.5: AER: broadcast mmio_enabled message [  T292] pcieport 0000:00:1c.5: AER: broadcast resume message [  T292] ------------[ cut here ]------------ [  T292] kernel BUG at net/core/dev.c:6539! [  T292] invalid opcode: 0000 [#1] PREEMPT SMP [  T292] RIP: 0010:napi_enable+0x37/0x40 [  T292] Call Trace: [  T292]  <TASK> [  T292]  ? die+0x33/0x90 [  T292]  ? do_trap+0xdc/0x110 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? do_error_trap+0x70/0xb0 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? exc_invalid_op+0x4e/0x70 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? asm_exc_invalid_op+0x16/0x20 [  T292]  ? napi_enable+0x37/0x40 [  T292]  igb_up+0x41/0x150 [  T292]  igb_io_resume+0x25/0x70 [  T292]  report_resume+0x54/0x70 [  T292]  ? report_frozen_detected+0x20/0x20 [  T292]  pci_walk_bus+0x6c/0x90 [  T292]  ? aer_print_port_info+0xa0/0xa0 [  T292]  pcie_do_recovery+0x22f/0x380 [  T292]  aer_process_err_devices+0x110/0x160 [  T292]  aer_isr+0x1c1/0x1e0 [  T292]  ? disable_irq_nosync+0x10/0x10 [  T292]  irq_thread_fn+0x1a/0x60 [  T292]  irq_thread+0xe3/0x1a0 [  T292]  ? irq_set_affinity_notifier+0x120/0x120 [  T292]  ? irq_affinity_notify+0x100/0x100 [  T292]  kthread+0xe2/0x110 [  T292]  ? kthread_complete_and_exit+0x20/0x20 [  T292]  ret_from_fork+0x2d/0x50 [  T292]  ? kthread_complete_and_exit+0x20/0x20 [  T292]  ret_from_fork_asm+0x11/0x20 [  T292]  </TASK>  To fix this issue igb_io_resume() checks if the interface is running and the device is not down this means igb_io_error_detected() did not bring the device down and there is no need to bring it up.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50044",
                        "url": "https://ubuntu.com/security/CVE-2024-50044",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: RFCOMM: FIX possible deadlock in rfcomm_sk_state_change  rfcomm_sk_state_change attempts to use sock_lock so it must never be called with it locked but rfcomm_sock_ioctl always attempt to lock it causing the following trace:  ====================================================== WARNING: possible circular locking dependency detected 6.8.0-syzkaller-08951-gfe46a7dd189e #0 Not tainted ------------------------------------------------------ syz-executor386/5093 is trying to acquire lock: ffff88807c396258 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1671 [inline] ffff88807c396258 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, at: rfcomm_sk_state_change+0x5b/0x310 net/bluetooth/rfcomm/sock.c:73  but task is already holding lock: ffff88807badfd28 (&d->lock){+.+.}-{3:3}, at: __rfcomm_dlc_close+0x226/0x6a0 net/bluetooth/rfcomm/core.c:491",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50045",
                        "url": "https://ubuntu.com/security/CVE-2024-50045",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: br_netfilter: fix panic with metadata_dst skb  Fix a kernel panic in the br_netfilter module when sending untagged traffic via a VxLAN device. This happens during the check for fragmentation in br_nf_dev_queue_xmit.  It is dependent on: 1) the br_netfilter module being loaded; 2) net.bridge.bridge-nf-call-iptables set to 1; 3) a bridge with a VxLAN (single-vxlan-device) netdevice as a bridge port; 4) untagged frames with size higher than the VxLAN MTU forwarded/flooded  When forwarding the untagged packet to the VxLAN bridge port, before the netfilter hooks are called, br_handle_egress_vlan_tunnel is called and changes the skb_dst to the tunnel dst. The tunnel_dst is a metadata type of dst, i.e., skb_valid_dst(skb) is false, and metadata->dst.dev is NULL.  Then in the br_netfilter hooks, in br_nf_dev_queue_xmit, there's a check for frames that needs to be fragmented: frames with higher MTU than the VxLAN device end up calling br_nf_ip_fragment, which in turns call ip_skb_dst_mtu.  The ip_dst_mtu tries to use the skb_dst(skb) as if it was a valid dst with valid dst->dev, thus the crash.  This case was never supported in the first place, so drop the packet instead.  PING 10.0.0.2 (10.0.0.2) from 0.0.0.0 h1-eth0: 2000(2028) bytes of data. [  176.291791] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000110 [  176.292101] Mem abort info: [  176.292184]   ESR = 0x0000000096000004 [  176.292322]   EC = 0x25: DABT (current EL), IL = 32 bits [  176.292530]   SET = 0, FnV = 0 [  176.292709]   EA = 0, S1PTW = 0 [  176.292862]   FSC = 0x04: level 0 translation fault [  176.293013] Data abort info: [  176.293104]   ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [  176.293488]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [  176.293787]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [  176.293995] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000043ef5000 [  176.294166] [0000000000000110] pgd=0000000000000000, p4d=0000000000000000 [  176.294827] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP [  176.295252] Modules linked in: vxlan ip6_udp_tunnel udp_tunnel veth br_netfilter bridge stp llc ipv6 crct10dif_ce [  176.295923] CPU: 0 PID: 188 Comm: ping Not tainted 6.8.0-rc3-g5b3fbd61b9d1 #2 [  176.296314] Hardware name: linux,dummy-virt (DT) [  176.296535] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [  176.296808] pc : br_nf_dev_queue_xmit+0x390/0x4ec [br_netfilter] [  176.297382] lr : br_nf_dev_queue_xmit+0x2ac/0x4ec [br_netfilter] [  176.297636] sp : ffff800080003630 [  176.297743] x29: ffff800080003630 x28: 0000000000000008 x27: ffff6828c49ad9f8 [  176.298093] x26: ffff6828c49ad000 x25: 0000000000000000 x24: 00000000000003e8 [  176.298430] x23: 0000000000000000 x22: ffff6828c4960b40 x21: ffff6828c3b16d28 [  176.298652] x20: ffff6828c3167048 x19: ffff6828c3b16d00 x18: 0000000000000014 [  176.298926] x17: ffffb0476322f000 x16: ffffb7e164023730 x15: 0000000095744632 [  176.299296] x14: ffff6828c3f1c880 x13: 0000000000000002 x12: ffffb7e137926a70 [  176.299574] x11: 0000000000000001 x10: ffff6828c3f1c898 x9 : 0000000000000000 [  176.300049] x8 : ffff6828c49bf070 x7 : 0008460f18d5f20e x6 : f20e0100bebafeca [  176.300302] x5 : ffff6828c7f918fe x4 : ffff6828c49bf070 x3 : 0000000000000000 [  176.300586] x2 : 0000000000000000 x1 : ffff6828c3c7ad00 x0 : ffff6828c7f918f0 [  176.300889] Call trace: [  176.301123]  br_nf_dev_queue_xmit+0x390/0x4ec [br_netfilter] [  176.301411]  br_nf_post_routing+0x2a8/0x3e4 [br_netfilter] [  176.301703]  nf_hook_slow+0x48/0x124 [  176.302060]  br_forward_finish+0xc8/0xe8 [bridge] [  176.302371]  br_nf_hook_thresh+0x124/0x134 [br_netfilter] [  176.302605]  br_nf_forward_finish+0x118/0x22c [br_netfilter] [  176.302824]  br_nf_forward_ip.part.0+0x264/0x290 [br_netfilter] [  176.303136]  br_nf_forward+0x2b8/0x4e0 [br_netfilter] [  176.303359]  nf_hook_slow+0x48/0x124 [  176.303 ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-38544",
                        "url": "https://ubuntu.com/security/CVE-2024-38544",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt In rxe_comp_queue_pkt() an incoming response packet skb is enqueued to the resp_pkts queue and then a decision is made whether to run the completer task inline or schedule it. Finally the skb is dereferenced to bump a 'hw' performance counter. This is wrong because if the completer task is already running in a separate thread it may have already processed the skb and freed it which can cause a seg fault. This has been observed infrequently in testing at high scale. This patch fixes this by changing the order of enqueuing the packet until after the counter is accessed.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-06-19 14:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50180",
                        "url": "https://ubuntu.com/security/CVE-2024-50180",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fbdev: sisfb: Fix strbuf array overflow  The values of the variables xres and yres are placed in strbuf. These variables are obtained from strbuf1. The strbuf1 array contains digit characters and a space if the array contains non-digit characters. Then, when executing sprintf(strbuf, \"%ux%ux8\", xres, yres); more than 16 bytes will be written to strbuf. It is suggested to increase the size of the strbuf array to 24.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50184",
                        "url": "https://ubuntu.com/security/CVE-2024-50184",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  virtio_pmem: Check device status before requesting flush  If a pmem device is in a bad status, the driver side could wait for host ack forever in virtio_pmem_flush(), causing the system to hang.  So add a status check in the beginning of virtio_pmem_flush() to return early if the device is not activated.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50059",
                        "url": "https://ubuntu.com/security/CVE-2024-50059",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition  In the switchtec_ntb_add function, it can call switchtec_ntb_init_sndev function, then &sndev->check_link_status_work is bound with check_link_status_work. switchtec_ntb_link_notification may be called to start the work.  If we remove the module which will call switchtec_ntb_remove to make cleanup, it will free sndev through kfree(sndev), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                 CPU1                          | check_link_status_work switchtec_ntb_remove    | kfree(sndev);           |                         | if (sndev->link_force_down)                         | // use sndev  Fix it by ensuring that the work is canceled before proceeding with the cleanup in switchtec_ntb_remove.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50089",
                        "url": "https://ubuntu.com/security/CVE-2024-50089",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 17:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49955",
                        "url": "https://ubuntu.com/security/CVE-2024-49955",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPI: battery: Fix possible crash when unregistering a battery hook  When a battery hook returns an error when adding a new battery, then the battery hook is automatically unregistered. However the battery hook provider cannot know that, so it will later call battery_hook_unregister() on the already unregistered battery hook, resulting in a crash.  Fix this by using the list head to mark already unregistered battery hooks as already being unregistered so that they can be ignored by battery_hook_unregister().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49973",
                        "url": "https://ubuntu.com/security/CVE-2024-49973",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  r8169: add tally counter fields added with RTL8125  RTL8125 added fields to the tally counter, what may result in the chip dma'ing these new fields to unallocated memory. Therefore make sure that the allocated memory area is big enough to hold all of the tally counter values, even if we use only parts of it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49975",
                        "url": "https://ubuntu.com/security/CVE-2024-49975",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  uprobes: fix kernel info leak via \"[uprobes]\" vma  xol_add_vma() maps the uninitialized page allocated by __create_xol_area() into userspace. On some architectures (x86) this memory is readable even without VM_READ, VM_EXEC results in the same pgprot_t as VM_EXEC|VM_READ, although this doesn't really matter, debugger can read this memory anyway.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49867",
                        "url": "https://ubuntu.com/security/CVE-2024-49867",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: wait for fixup workers before stopping cleaner kthread during umount  During unmount, at close_ctree(), we have the following steps in this order:  1) Park the cleaner kthread - this doesn't destroy the kthread, it basically    halts its execution (wake ups against it work but do nothing);  2) We stop the cleaner kthread - this results in freeing the respective    struct task_struct;  3) We call btrfs_stop_all_workers() which waits for any jobs running in all    the work queues and then free the work queues.  Syzbot reported a case where a fixup worker resulted in a crash when doing a delayed iput on its inode while attempting to wake up the cleaner at btrfs_add_delayed_iput(), because the task_struct of the cleaner kthread was already freed. This can happen during unmount because we don't wait for any fixup workers still running before we call kthread_stop() against the cleaner kthread, which stops and free all its resources.  Fix this by waiting for any fixup workers at close_ctree() before we call kthread_stop() against the cleaner and run pending delayed iputs.  The stack traces reported by syzbot were the following:    BUG: KASAN: slab-use-after-free in __lock_acquire+0x77/0x2050 kernel/locking/lockdep.c:5065   Read of size 8 at addr ffff8880272a8a18 by task kworker/u8:3/52    CPU: 1 UID: 0 PID: 52 Comm: kworker/u8:3 Not tainted 6.12.0-rc1-syzkaller #0   Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024   Workqueue: btrfs-fixup btrfs_work_helper   Call Trace:    <TASK>    __dump_stack lib/dump_stack.c:94 [inline]    dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120    print_address_description mm/kasan/report.c:377 [inline]    print_report+0x169/0x550 mm/kasan/report.c:488    kasan_report+0x143/0x180 mm/kasan/report.c:601    __lock_acquire+0x77/0x2050 kernel/locking/lockdep.c:5065    lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5825    __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]    _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162    class_raw_spinlock_irqsave_constructor include/linux/spinlock.h:551 [inline]    try_to_wake_up+0xb0/0x1480 kernel/sched/core.c:4154    btrfs_writepage_fixup_worker+0xc16/0xdf0 fs/btrfs/inode.c:2842    btrfs_work_helper+0x390/0xc50 fs/btrfs/async-thread.c:314    process_one_work kernel/workqueue.c:3229 [inline]    process_scheduled_works+0xa63/0x1850 kernel/workqueue.c:3310    worker_thread+0x870/0xd30 kernel/workqueue.c:3391    kthread+0x2f0/0x390 kernel/kthread.c:389    ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147    ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244    </TASK>    Allocated by task 2:    kasan_save_stack mm/kasan/common.c:47 [inline]    kasan_save_track+0x3f/0x80 mm/kasan/common.c:68    unpoison_slab_object mm/kasan/common.c:319 [inline]    __kasan_slab_alloc+0x66/0x80 mm/kasan/common.c:345    kasan_slab_alloc include/linux/kasan.h:247 [inline]    slab_post_alloc_hook mm/slub.c:4086 [inline]    slab_alloc_node mm/slub.c:4135 [inline]    kmem_cache_alloc_node_noprof+0x16b/0x320 mm/slub.c:4187    alloc_task_struct_node kernel/fork.c:180 [inline]    dup_task_struct+0x57/0x8c0 kernel/fork.c:1107    copy_process+0x5d1/0x3d50 kernel/fork.c:2206    kernel_clone+0x223/0x880 kernel/fork.c:2787    kernel_thread+0x1bc/0x240 kernel/fork.c:2849    create_kthread kernel/kthread.c:412 [inline]    kthreadd+0x60d/0x810 kernel/kthread.c:765    ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147    ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244    Freed by task 61:    kasan_save_stack mm/kasan/common.c:47 [inline]    kasan_save_track+0x3f/0x80 mm/kasan/common.c:68    kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579    poison_slab_object mm/kasan/common.c:247 [inline]    __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264    kasan_slab_free include/linux/kasan.h:230 [inline]    slab_free_h ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49868",
                        "url": "https://ubuntu.com/security/CVE-2024-49868",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: fix a NULL pointer dereference when failed to start a new trasacntion  [BUG] Syzbot reported a NULL pointer dereference with the following crash:    FAULT_INJECTION: forcing a failure.    start_transaction+0x830/0x1670 fs/btrfs/transaction.c:676    prepare_to_relocate+0x31f/0x4c0 fs/btrfs/relocation.c:3642    relocate_block_group+0x169/0xd20 fs/btrfs/relocation.c:3678   ...   BTRFS info (device loop0): balance: ended with status: -12   Oops: general protection fault, probably for non-canonical address 0xdffffc00000000cc: 0000 [#1] PREEMPT SMP KASAN NOPTI   KASAN: null-ptr-deref in range [0x0000000000000660-0x0000000000000667]   RIP: 0010:btrfs_update_reloc_root+0x362/0xa80 fs/btrfs/relocation.c:926   Call Trace:    <TASK>    commit_fs_roots+0x2ee/0x720 fs/btrfs/transaction.c:1496    btrfs_commit_transaction+0xfaf/0x3740 fs/btrfs/transaction.c:2430    del_balance_item fs/btrfs/volumes.c:3678 [inline]    reset_balance_state+0x25e/0x3c0 fs/btrfs/volumes.c:3742    btrfs_balance+0xead/0x10c0 fs/btrfs/volumes.c:4574    btrfs_ioctl_balance+0x493/0x7c0 fs/btrfs/ioctl.c:3673    vfs_ioctl fs/ioctl.c:51 [inline]    __do_sys_ioctl fs/ioctl.c:907 [inline]    __se_sys_ioctl+0xf9/0x170 fs/ioctl.c:893    do_syscall_x64 arch/x86/entry/common.c:52 [inline]    do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83    entry_SYSCALL_64_after_hwframe+0x77/0x7f  [CAUSE] The allocation failure happens at the start_transaction() inside prepare_to_relocate(), and during the error handling we call unset_reloc_control(), which makes fs_info->balance_ctl to be NULL.  Then we continue the error path cleanup in btrfs_balance() by calling reset_balance_state() which will call del_balance_item() to fully delete the balance item in the root tree.  However during the small window between set_reloc_contrl() and unset_reloc_control(), we can have a subvolume tree update and created a reloc_root for that subvolume.  Then we go into the final btrfs_commit_transaction() of del_balance_item(), and into btrfs_update_reloc_root() inside commit_fs_roots().  That function checks if fs_info->reloc_ctl is in the merge_reloc_tree stage, but since fs_info->reloc_ctl is NULL, it results a NULL pointer dereference.  [FIX] Just add extra check on fs_info->reloc_ctl inside btrfs_update_reloc_root(), before checking fs_info->reloc_ctl->merge_reloc_tree.  That DEAD_RELOC_TREE handling is to prevent further modification to the reloc tree during merge stage, but since there is no reloc_ctl at all, we do not need to bother that.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49981",
                        "url": "https://ubuntu.com/security/CVE-2024-49981",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: venus: fix use after free bug in venus_remove due to race condition  in venus_probe, core->work is bound with venus_sys_error_handler, which is used to handle error. The code use core->sys_err_done to make sync work. The core->work is started in venus_event_notify.  If we call venus_remove, there might be an unfished work. The possible sequence is as follows:  CPU0                  CPU1                       |venus_sys_error_handler venus_remove         | hfi_destroy\t \t\t | venus_hfi_destroy\t | kfree(hdev);\t     |                      |hfi_reinit \t\t\t\t\t |venus_hfi_queues_reinit                      |//use hdev  Fix it by canceling the work in venus_remove.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49982",
                        "url": "https://ubuntu.com/security/CVE-2024-49982",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  aoe: fix the potential use-after-free problem in more places  For fixing CVE-2023-6270, f98364e92662 (\"aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts\") makes tx() calling dev_put() instead of doing in aoecmd_cfg_pkts(). It avoids that the tx() runs into use-after-free.  Then Nicolai Stange found more places in aoe have potential use-after-free problem with tx(). e.g. revalidate(), aoecmd_ata_rw(), resend(), probe() and aoecmd_cfg_rsp(). Those functions also use aoenet_xmit() to push packet to tx queue. So they should also use dev_hold() to increase the refcnt of skb->dev.  On the other hand, moving dev_put() to tx() causes that the refcnt of skb->dev be reduced to a negative value, because corresponding dev_hold() are not called in revalidate(), aoecmd_ata_rw(), resend(), probe(), and aoecmd_cfg_rsp(). This patch fixed this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49877",
                        "url": "https://ubuntu.com/security/CVE-2024-49877",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate  When doing cleanup, if flags without OCFS2_BH_READAHEAD, it may trigger NULL pointer dereference in the following ocfs2_set_buffer_uptodate() if bh is NULL.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49957",
                        "url": "https://ubuntu.com/security/CVE-2024-49957",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix null-ptr-deref when journal load failed.  During the mounting process, if journal_reset() fails because of too short journal, then lead to jbd2_journal_load() fails with NULL j_sb_buffer. Subsequently, ocfs2_journal_shutdown() calls jbd2_journal_flush()->jbd2_cleanup_journal_tail()-> __jbd2_update_log_tail()->jbd2_journal_update_sb_log_tail() ->lock_buffer(journal->j_sb_buffer), resulting in a null-pointer dereference error.  To resolve this issue, we should check the JBD2_LOADED flag to ensure the journal was properly loaded.  Additionally, use journal instead of osb->journal directly to simplify the code.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49965",
                        "url": "https://ubuntu.com/security/CVE-2024-49965",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: remove unreasonable unlock in ocfs2_read_blocks  Patch series \"Misc fixes for ocfs2_read_blocks\", v5.  This series contains 2 fixes for ocfs2_read_blocks().  The first patch fix the issue reported by syzbot, which detects bad unlock balance in ocfs2_read_blocks().  The second patch fixes an issue reported by Heming Zhao when reviewing above fix.   This patch (of 2):  There was a lock release before exiting, so remove the unreasonable unlock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49966",
                        "url": "https://ubuntu.com/security/CVE-2024-49966",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: cancel dqi_sync_work before freeing oinfo  ocfs2_global_read_info() will initialize and schedule dqi_sync_work at the end, if error occurs after successfully reading global quota, it will trigger the following warning with CONFIG_DEBUG_OBJECTS_* enabled:  ODEBUG: free active (active state 0) object: 00000000d8b0ce28 object type: timer_list hint: qsync_work_fn+0x0/0x16c  This reports that there is an active delayed work when freeing oinfo in error handling, so cancel dqi_sync_work first.  BTW, return status instead of -1 when .read_file_info fails.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49958",
                        "url": "https://ubuntu.com/security/CVE-2024-49958",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: reserve space for inline xattr before attaching reflink tree  One of our customers reported a crash and a corrupted ocfs2 filesystem. The crash was due to the detection of corruption.  Upon troubleshooting, the fsck -fn output showed the below corruption  [EXTENT_LIST_FREE] Extent list in owner 33080590 claims 230 as the next free chain record, but fsck believes the largest valid value is 227.  Clamp the next record value? n  The stat output from the debugfs.ocfs2 showed the following corruption where the \"Next Free Rec:\" had overshot the \"Count:\" in the root metadata block.          Inode: 33080590   Mode: 0640   Generation: 2619713622 (0x9c25a856)         FS Generation: 904309833 (0x35e6ac49)         CRC32: 00000000   ECC: 0000         Type: Regular   Attr: 0x0   Flags: Valid         Dynamic Features: (0x16) HasXattr InlineXattr Refcounted         Extended Attributes Block: 0  Extended Attributes Inline Size: 256         User: 0 (root)   Group: 0 (root)   Size: 281320357888         Links: 1   Clusters: 141738         ctime: 0x66911b56 0x316edcb8 -- Fri Jul 12 06:02:30.829349048 2024         atime: 0x66911d6b 0x7f7a28d -- Fri Jul 12 06:11:23.133669517 2024         mtime: 0x66911b56 0x12ed75d7 -- Fri Jul 12 06:02:30.317552087 2024         dtime: 0x0 -- Wed Dec 31 17:00:00 1969         Refcount Block: 2777346         Last Extblk: 2886943   Orphan Slot: 0         Sub Alloc Slot: 0   Sub Alloc Bit: 14         Tree Depth: 1   Count: 227   Next Free Rec: 230         ## Offset        Clusters       Block#         0  0             2310           2776351         1  2310          2139           2777375         2  4449          1221           2778399         3  5670          731            2779423         4  6401          566            2780447         .......          ....           .......         .......          ....           .......  The issue was in the reflink workfow while reserving space for inline xattr.  The problematic function is ocfs2_reflink_xattr_inline().  By the time this function is called the reflink tree is already recreated at the destination inode from the source inode.  At this point, this function reserves space for inline xattrs at the destination inode without even checking if there is space at the root metadata block.  It simply reduces the l_count from 243 to 227 thereby making space of 256 bytes for inline xattr whereas the inode already has extents beyond this index (in this case up to 230), thereby causing corruption.  The fix for this is to reserve space for inline metadata at the destination inode before the reflink tree gets recreated. The customer has verified the fix.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49959",
                        "url": "https://ubuntu.com/security/CVE-2024-49959",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error  In __jbd2_log_wait_for_space(), we might call jbd2_cleanup_journal_tail() to recover some journal space. But if an error occurs while executing jbd2_cleanup_journal_tail() (e.g., an EIO), we don't stop waiting for free space right away, we try other branches, and if j_committing_transaction is NULL (i.e., the tid is 0), we will get the following complain:  ============================================ JBD2: I/O error when updating journal superblock for sdd-8. __jbd2_log_wait_for_space: needed 256 blocks and only had 217 space available __jbd2_log_wait_for_space: no way to get more journal space in sdd-8 ------------[ cut here ]------------ WARNING: CPU: 2 PID: 139804 at fs/jbd2/checkpoint.c:109 __jbd2_log_wait_for_space+0x251/0x2e0 Modules linked in: CPU: 2 PID: 139804 Comm: kworker/u8:3 Not tainted 6.6.0+ #1 RIP: 0010:__jbd2_log_wait_for_space+0x251/0x2e0 Call Trace:  <TASK>  add_transaction_credits+0x5d1/0x5e0  start_this_handle+0x1ef/0x6a0  jbd2__journal_start+0x18b/0x340  ext4_dirty_inode+0x5d/0xb0  __mark_inode_dirty+0xe4/0x5d0  generic_update_time+0x60/0x70 [...] ============================================  So only if jbd2_cleanup_journal_tail() returns 1, i.e., there is nothing to clean up at the moment, continue to try to reclaim free space in other ways.  Note that this fix relies on commit 6f6a6fda2945 (\"jbd2: fix ocfs2 corrupt when updating journal superblock fails\") to make jbd2_cleanup_journal_tail return the correct error code.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49879",
                        "url": "https://ubuntu.com/security/CVE-2024-49879",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm: omapdrm: Add missing check for alloc_ordered_workqueue  As it may return NULL pointer and cause NULL pointer dereference. Add check for the return value of alloc_ordered_workqueue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49882",
                        "url": "https://ubuntu.com/security/CVE-2024-49882",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix double brelse() the buffer of the extents path  In ext4_ext_try_to_merge_up(), set path[1].p_bh to NULL after it has been released, otherwise it may be released twice. An example of what triggers this is as follows:    split2    map    split1 |--------|-------|--------|  ext4_ext_map_blocks  ext4_ext_handle_unwritten_extents   ext4_split_convert_extents    // path->p_depth == 0    ext4_split_extent      // 1. do split1      ext4_split_extent_at        |ext4_ext_insert_extent        |  ext4_ext_create_new_leaf        |    ext4_ext_grow_indepth        |      le16_add_cpu(&neh->eh_depth, 1)        |    ext4_find_extent        |      // return -ENOMEM        |// get error and try zeroout        |path = ext4_find_extent        |  path->p_depth = 1        |ext4_ext_try_to_merge        |  ext4_ext_try_to_merge_up        |    path->p_depth = 0        |    brelse(path[1].p_bh)  ---> not set to NULL here        |// zeroout success      // 2. update path      ext4_find_extent      // 3. do split2      ext4_split_extent_at        ext4_ext_insert_extent          ext4_ext_create_new_leaf            ext4_ext_grow_indepth              le16_add_cpu(&neh->eh_depth, 1)            ext4_find_extent              path[0].p_bh = NULL;              path->p_depth = 1              read_extent_tree_block  ---> return err              // path[1].p_bh is still the old value              ext4_free_ext_path                ext4_ext_drop_refs                  // path->p_depth == 1                  brelse(path[1].p_bh)  ---> brelse a buffer twice  Finally got the following WARRNING when removing the buffer from lru:  ============================================ VFS: brelse: Trying to free free buffer WARNING: CPU: 2 PID: 72 at fs/buffer.c:1241 __brelse+0x58/0x90 CPU: 2 PID: 72 Comm: kworker/u19:1 Not tainted 6.9.0-dirty #716 RIP: 0010:__brelse+0x58/0x90 Call Trace:  <TASK>  __find_get_block+0x6e7/0x810  bdev_getblk+0x2b/0x480  __ext4_get_inode_loc+0x48a/0x1240  ext4_get_inode_loc+0xb2/0x150  ext4_reserve_inode_write+0xb7/0x230  __ext4_mark_inode_dirty+0x144/0x6a0  ext4_ext_insert_extent+0x9c8/0x3230  ext4_ext_map_blocks+0xf45/0x2dc0  ext4_map_blocks+0x724/0x1700  ext4_do_writepages+0x12d6/0x2a70 [...] ============================================",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49883",
                        "url": "https://ubuntu.com/security/CVE-2024-49883",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: aovid use-after-free in ext4_ext_insert_extent()  As Ojaswin mentioned in Link, in ext4_ext_insert_extent(), if the path is reallocated in ext4_ext_create_new_leaf(), we'll use the stale path and cause UAF. Below is a sample trace with dummy values:  ext4_ext_insert_extent   path = *ppath = 2000   ext4_ext_create_new_leaf(ppath)     ext4_find_extent(ppath)       path = *ppath = 2000       if (depth > path[0].p_maxdepth)             kfree(path = 2000);             *ppath = path = NULL;       path = kcalloc() = 3000       *ppath = 3000;       return path;   /* here path is still 2000, UAF! */   eh = path[depth].p_hdr  ================================================================== BUG: KASAN: slab-use-after-free in ext4_ext_insert_extent+0x26d4/0x3330 Read of size 8 at addr ffff8881027bf7d0 by task kworker/u36:1/179 CPU: 3 UID: 0 PID: 179 Comm: kworker/u6:1 Not tainted 6.11.0-rc2-dirty #866 Call Trace:  <TASK>  ext4_ext_insert_extent+0x26d4/0x3330  ext4_ext_map_blocks+0xe22/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800 [...]  Allocated by task 179:  ext4_find_extent+0x81c/0x1f70  ext4_ext_map_blocks+0x146/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800  ext4_writepages+0x26d/0x4e0  do_writepages+0x175/0x700 [...]  Freed by task 179:  kfree+0xcb/0x240  ext4_find_extent+0x7c0/0x1f70  ext4_ext_insert_extent+0xa26/0x3330  ext4_ext_map_blocks+0xe22/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800  ext4_writepages+0x26d/0x4e0  do_writepages+0x175/0x700 [...] ==================================================================  So use *ppath to update the path to avoid the above problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49985",
                        "url": "https://ubuntu.com/security/CVE-2024-49985",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume  In case there is any sort of clock controller attached to this I2C bus controller, for example Versaclock or even an AIC32x4 I2C codec, then an I2C transfer triggered from the clock controller clk_ops .prepare callback may trigger a deadlock on drivers/clk/clk.c prepare_lock mutex.  This is because the clock controller first grabs the prepare_lock mutex and then performs the prepare operation, including its I2C access. The I2C access resumes this I2C bus controller via .runtime_resume callback, which calls clk_prepare_enable(), which attempts to grab the prepare_lock mutex again and deadlocks.  Since the clock are already prepared since probe() and unprepared in remove(), use simple clk_enable()/clk_disable() calls to enable and disable the clock on runtime suspend and resume, to avoid hitting the prepare_lock mutex.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50006",
                        "url": "https://ubuntu.com/security/CVE-2024-50006",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix i_data_sem unlock order in ext4_ind_migrate()  Fuzzing reports a possible deadlock in jbd2_log_wait_commit.  This issue is triggered when an EXT4_IOC_MIGRATE ioctl is set to require synchronous updates because the file descriptor is opened with O_SYNC. This can lead to the jbd2_journal_stop() function calling jbd2_might_wait_for_commit(), potentially causing a deadlock if the EXT4_IOC_MIGRATE call races with a write(2) system call.  This problem only arises when CONFIG_PROVE_LOCKING is enabled. In this case, the jbd2_might_wait_for_commit macro locks jbd2_handle in the jbd2_journal_stop function while i_data_sem is locked. This triggers lockdep because the jbd2_journal_start function might also lock the same jbd2_handle simultaneously.  Found by Linux Verification Center (linuxtesting.org) with syzkaller.  Rule: add",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 19:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49892",
                        "url": "https://ubuntu.com/security/CVE-2024-49892",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Initialize get_bytes_per_element's default to 1  Variables, used as denominators and maybe not assigned to other values, should not be 0. bytes_per_element_y & bytes_per_element_c are initialized by get_bytes_per_element() which should never return 0.  This fixes 10 DIVIDE_BY_ZERO issues reported by Coverity.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49894",
                        "url": "https://ubuntu.com/security/CVE-2024-49894",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Fix index out of bounds in degamma hardware format translation  Fixes index out of bounds issue in `cm_helper_translate_curve_to_degamma_hw_format` function. The issue could occur when the index 'i' exceeds the number of transfer function points (TRANSFER_FUNC_POINTS).  The fix adds a check to ensure 'i' is within bounds before accessing the transfer function points. If 'i' is out of bounds the function returns false to indicate an error.  Reported by smatch: drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:594 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.red' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:595 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.green' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:596 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.blue' 1025 <= s32max",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49896",
                        "url": "https://ubuntu.com/security/CVE-2024-49896",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Check stream before comparing them  [WHAT & HOW] amdgpu_dm can pass a null stream to dc_is_stream_unchanged. It is necessary to check for null before dereferencing them.  This fixes 1 FORWARD_NULL issue reported by Coverity.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49900",
                        "url": "https://ubuntu.com/security/CVE-2024-49900",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: Fix uninit-value access of new_ea in ea_buffer  syzbot reports that lzo1x_1_do_compress is using uninit-value:  ===================================================== BUG: KMSAN: uninit-value in lzo1x_1_do_compress+0x19f9/0x2510 lib/lzo/lzo1x_compress.c:178  ...  Uninit was stored to memory at:  ea_put fs/jfs/xattr.c:639 [inline]  ...  Local variable ea_buf created at:  __jfs_setxattr+0x5d/0x1ae0 fs/jfs/xattr.c:662  __jfs_xattr_set+0xe6/0x1f0 fs/jfs/xattr.c:934  =====================================================  The reason is ea_buf->new_ea is not initialized properly.  Fix this by using memset to empty its content at the beginning in ea_get().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49902",
                        "url": "https://ubuntu.com/security/CVE-2024-49902",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: check if leafidx greater than num leaves per dmap tree  syzbot report a out of bounds in dbSplit, it because dmt_leafidx greater than num leaves per dmap tree, add a checking for dmt_leafidx in dbFindLeaf.  Shaggy: Modified sanity check to apply to control pages as well as leaf pages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49903",
                        "url": "https://ubuntu.com/security/CVE-2024-49903",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: Fix uaf in dbFreeBits  [syzbot reported] ================================================================== BUG: KASAN: slab-use-after-free in __mutex_lock_common kernel/locking/mutex.c:587 [inline] BUG: KASAN: slab-use-after-free in __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752 Read of size 8 at addr ffff8880229254b0 by task syz-executor357/5216  CPU: 0 UID: 0 PID: 5216 Comm: syz-executor357 Not tainted 6.11.0-rc3-syzkaller-00156-gd7a5aa4b3c00 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024 Call Trace:  <TASK>  __dump_stack lib/dump_stack.c:93 [inline]  dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119  print_address_description mm/kasan/report.c:377 [inline]  print_report+0x169/0x550 mm/kasan/report.c:488  kasan_report+0x143/0x180 mm/kasan/report.c:601  __mutex_lock_common kernel/locking/mutex.c:587 [inline]  __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752  dbFreeBits+0x7ea/0xd90 fs/jfs/jfs_dmap.c:2390  dbFreeDmap fs/jfs/jfs_dmap.c:2089 [inline]  dbFree+0x35b/0x680 fs/jfs/jfs_dmap.c:409  dbDiscardAG+0x8a9/0xa20 fs/jfs/jfs_dmap.c:1650  jfs_ioc_trim+0x433/0x670 fs/jfs/jfs_discard.c:100  jfs_ioctl+0x2d0/0x3e0 fs/jfs/ioctl.c:131  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:907 [inline]  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:893  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  Freed by task 5218:  kasan_save_stack mm/kasan/common.c:47 [inline]  kasan_save_track+0x3f/0x80 mm/kasan/common.c:68  kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579  poison_slab_object+0xe0/0x150 mm/kasan/common.c:240  __kasan_slab_free+0x37/0x60 mm/kasan/common.c:256  kasan_slab_free include/linux/kasan.h:184 [inline]  slab_free_hook mm/slub.c:2252 [inline]  slab_free mm/slub.c:4473 [inline]  kfree+0x149/0x360 mm/slub.c:4594  dbUnmount+0x11d/0x190 fs/jfs/jfs_dmap.c:278  jfs_mount_rw+0x4ac/0x6a0 fs/jfs/jfs_mount.c:247  jfs_remount+0x3d1/0x6b0 fs/jfs/super.c:454  reconfigure_super+0x445/0x880 fs/super.c:1083  vfs_cmd_reconfigure fs/fsopen.c:263 [inline]  vfs_fsconfig_locked fs/fsopen.c:292 [inline]  __do_sys_fsconfig fs/fsopen.c:473 [inline]  __se_sys_fsconfig+0xb6e/0xf80 fs/fsopen.c:345  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  [Analysis] There are two paths (dbUnmount and jfs_ioc_trim) that generate race condition when accessing bmap, which leads to the occurrence of uaf.  Use the lock s_umount to synchronize them, in order to avoid uaf caused by race condition.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49924",
                        "url": "https://ubuntu.com/security/CVE-2024-49924",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fbdev: pxafb: Fix possible use after free in pxafb_task()  In the pxafb_probe function, it calls the pxafb_init_fbinfo function, after which &fbi->task is associated with pxafb_task. Moreover, within this pxafb_init_fbinfo function, the pxafb_blank function within the &pxafb_ops struct is capable of scheduling work.  If we remove the module which will call pxafb_remove to make cleanup, it will call unregister_framebuffer function which can call do_unregister_framebuffer to free fbi->fb through put_fb_info(fb_info), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                                CPU1                                     | pxafb_task pxafb_remove                       | unregister_framebuffer(info)       | do_unregister_framebuffer(fb_info) | put_fb_info(fb_info)               | // free fbi->fb                    | set_ctrlr_state(fbi, state)                                    | __pxafb_lcd_power(fbi, 0)                                    | fbi->lcd_power(on, &fbi->fb.var)                                    | //use fbi->fb  Fix it by ensuring that the work is canceled before proceeding with the cleanup in pxafb_remove.  Note that only root user can remove the driver at runtime.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50007",
                        "url": "https://ubuntu.com/security/CVE-2024-50007",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: asihpi: Fix potential OOB array access  ASIHPI driver stores some values in the static array upon a response from the driver, and its index depends on the firmware.  We shouldn't trust it blindly.  This patch adds a sanity check of the array index to fit in the array size.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 19:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50008",
                        "url": "https://ubuntu.com/security/CVE-2024-50008",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext()  Replace one-element array with a flexible-array member in `struct host_cmd_ds_802_11_scan_ext`.  With this, fix the following warning:  elo 16 17:51:58 surfacebook kernel: ------------[ cut here ]------------ elo 16 17:51:58 surfacebook kernel: memcpy: detected field-spanning write (size 243) of single field \"ext_scan->tlv_buffer\" at drivers/net/wireless/marvell/mwifiex/scan.c:2239 (size 1) elo 16 17:51:58 surfacebook kernel: WARNING: CPU: 0 PID: 498 at drivers/net/wireless/marvell/mwifiex/scan.c:2239 mwifiex_cmd_802_11_scan_ext+0x83/0x90 [mwifiex]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 19:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49995",
                        "url": "https://ubuntu.com/security/CVE-2024-49995",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tipc: guard against string buffer overrun  Smatch reports that copying media_name and if_name to name_parts may overwrite the destination.   .../bearer.c:166 bearer_name_validate() error: strcpy() 'media_name' too large for 'name_parts->media_name' (32 vs 16)  .../bearer.c:167 bearer_name_validate() error: strcpy() 'if_name' too large for 'name_parts->if_name' (1010102 vs 16)  This does seem to be the case so guard against this possibility by using strscpy() and failing if truncation occurs.  Introduced by commit b97bf3fd8f6a (\"[TIPC] Initial merge\")  Compile tested only.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49962",
                        "url": "https://ubuntu.com/security/CVE-2024-49962",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package()  ACPICA commit 4d4547cf13cca820ff7e0f859ba83e1a610b9fd0  ACPI_ALLOCATE_ZEROED() may fail, elements might be NULL and will cause NULL pointer dereference later.  [ rjw: Subject and changelog edits ]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49938",
                        "url": "https://ubuntu.com/security/CVE-2024-49938",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit  Syzbot points out that skb_trim() has a sanity check on the existing length of the skb, which can be uninitialised in some error paths. The intent here is clearly just to reset the length to zero before resubmitting, so switch to calling __skb_set_length(skb, 0) directly. In addition, __skb_set_length() already contains a call to skb_reset_tail_pointer(), so remove the redundant call.  The syzbot report came from ath9k_hif_usb_reg_in_cb(), but there's a similar usage of skb_trim() in ath9k_hif_usb_rx_cb(), change both while we're at it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47740",
                        "url": "https://ubuntu.com/security/CVE-2024-47740",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: Require FMODE_WRITE for atomic write ioctls  The F2FS ioctls for starting and committing atomic writes check for inode_owner_or_capable(), but this does not give LSMs like SELinux or Landlock an opportunity to deny the write access - if the caller's FSUID matches the inode's UID, inode_owner_or_capable() immediately returns true.  There are scenarios where LSMs want to deny a process the ability to write particular files, even files that the FSUID of the process owns; but this can currently partially be bypassed using atomic write ioctls in two ways:   - F2FS_IOC_START_ATOMIC_REPLACE + F2FS_IOC_COMMIT_ATOMIC_WRITE can    truncate an inode to size 0  - F2FS_IOC_START_ATOMIC_WRITE + F2FS_IOC_ABORT_ATOMIC_WRITE can revert    changes another process concurrently made to a file  Fix it by requiring FMODE_WRITE for these operations, just like for F2FS_IOC_MOVE_RANGE. Since any legitimate caller should only be using these ioctls when intending to write into the file, that seems unlikely to break anything.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49944",
                        "url": "https://ubuntu.com/security/CVE-2024-49944",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start  In sctp_listen_start() invoked by sctp_inet_listen(), it should set the sk_state back to CLOSED if sctp_autobind() fails due to whatever reason.  Otherwise, next time when calling sctp_inet_listen(), if sctp_sk(sk)->reuse is already set via setsockopt(SCTP_REUSE_PORT), sctp_sk(sk)->bind_hash will be dereferenced as sk_state is LISTENING, which causes a crash as bind_hash is NULL.    KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]   RIP: 0010:sctp_inet_listen+0x7f0/0xa20 net/sctp/socket.c:8617   Call Trace:    <TASK>    __sys_listen_socket net/socket.c:1883 [inline]    __sys_listen+0x1b7/0x230 net/socket.c:1894    __do_sys_listen net/socket.c:1902 [inline]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49948",
                        "url": "https://ubuntu.com/security/CVE-2024-49948",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: add more sanity checks to qdisc_pkt_len_init()  One path takes care of SKB_GSO_DODGY, assuming skb->len is bigger than hdr_len.  virtio_net_hdr_to_skb() does not fully dissect TCP headers, it only make sure it is at least 20 bytes.  It is possible for an user to provide a malicious 'GSO' packet, total length of 80 bytes.  - 20 bytes of IPv4 header - 60 bytes TCP header - a small gso_size like 8  virtio_net_hdr_to_skb() would declare this packet as a normal GSO packet, because it would see 40 bytes of payload, bigger than gso_size.  We need to make detect this case to not underflow qdisc_skb_cb(skb)->pkt_len.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49949",
                        "url": "https://ubuntu.com/security/CVE-2024-49949",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: avoid potential underflow in qdisc_pkt_len_init() with UFO  After commit 7c6d2ecbda83 (\"net: be more gentle about silly gso requests coming from user\") virtio_net_hdr_to_skb() had sanity check to detect malicious attempts from user space to cook a bad GSO packet.  Then commit cf9acc90c80ec (\"net: virtio_net_hdr_to_skb: count transport header in UFO\") while fixing one issue, allowed user space to cook a GSO packet with the following characteristic :  IPv4 SKB_GSO_UDP, gso_size=3, skb->len = 28.  When this packet arrives in qdisc_pkt_len_init(), we end up with hdr_len = 28 (IPv4 header + UDP header), matching skb->len  Then the following sets gso_segs to 0 :  gso_segs = DIV_ROUND_UP(skb->len - hdr_len,                         shinfo->gso_size);  Then later we set qdisc_skb_cb(skb)->pkt_len to back to zero :/  qdisc_skb_cb(skb)->pkt_len += (gso_segs - 1) * hdr_len;  This leads to the following crash in fq_codel [1]  qdisc_pkt_len_init() is best effort, we only want an estimation of the bytes sent on the wire, not crashing the kernel.  This patch is fixing this particular issue, a following one adds more sanity checks for another potential bug.  [1] [   70.724101] BUG: kernel NULL pointer dereference, address: 0000000000000000 [   70.724561] #PF: supervisor read access in kernel mode [   70.724561] #PF: error_code(0x0000) - not-present page [   70.724561] PGD 10ac61067 P4D 10ac61067 PUD 107ee2067 PMD 0 [   70.724561] Oops: Oops: 0000 [#1] SMP NOPTI [   70.724561] CPU: 11 UID: 0 PID: 2163 Comm: b358537762 Not tainted 6.11.0-virtme #991 [   70.724561] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [   70.724561] RIP: 0010:fq_codel_enqueue (net/sched/sch_fq_codel.c:120 net/sched/sch_fq_codel.c:168 net/sched/sch_fq_codel.c:230) sch_fq_codel [ 70.724561] Code: 24 08 49 c1 e1 06 44 89 7c 24 18 45 31 ed 45 31 c0 31 ff 89 44 24 14 4c 03 8b 90 01 00 00 eb 04 39 ca 73 37 4d 8b 39 83 c7 01 <49> 8b 17 49 89 11 41 8b 57 28 45 8b 5f 34 49 c7 07 00 00 00 00 49 All code ========    0:\t24 08                \tand    $0x8,%al    2:\t49 c1 e1 06          \tshl    $0x6,%r9    6:\t44 89 7c 24 18       \tmov    %r15d,0x18(%rsp)    b:\t45 31 ed             \txor    %r13d,%r13d    e:\t45 31 c0             \txor    %r8d,%r8d   11:\t31 ff                \txor    %edi,%edi   13:\t89 44 24 14          \tmov    %eax,0x14(%rsp)   17:\t4c 03 8b 90 01 00 00 \tadd    0x190(%rbx),%r9   1e:\teb 04                \tjmp    0x24   20:\t39 ca                \tcmp    %ecx,%edx   22:\t73 37                \tjae    0x5b   24:\t4d 8b 39             \tmov    (%r9),%r15   27:\t83 c7 01             \tadd    $0x1,%edi   2a:*\t49 8b 17             \tmov    (%r15),%rdx\t\t<-- trapping instruction   2d:\t49 89 11             \tmov    %rdx,(%r9)   30:\t41 8b 57 28          \tmov    0x28(%r15),%edx   34:\t45 8b 5f 34          \tmov    0x34(%r15),%r11d   38:\t49 c7 07 00 00 00 00 \tmovq   $0x0,(%r15)   3f:\t49                   \trex.WB  Code starting with the faulting instruction ===========================================    0:\t49 8b 17             \tmov    (%r15),%rdx    3:\t49 89 11             \tmov    %rdx,(%r9)    6:\t41 8b 57 28          \tmov    0x28(%r15),%edx    a:\t45 8b 5f 34          \tmov    0x34(%r15),%r11d    e:\t49 c7 07 00 00 00 00 \tmovq   $0x0,(%r15)   15:\t49                   \trex.WB [   70.724561] RSP: 0018:ffff95ae85e6fb90 EFLAGS: 00000202 [   70.724561] RAX: 0000000002000000 RBX: ffff95ae841de000 RCX: 0000000000000000 [   70.724561] RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000001 [   70.724561] RBP: ffff95ae85e6fbf8 R08: 0000000000000000 R09: ffff95b710a30000 [   70.724561] R10: 0000000000000000 R11: bdf289445ce31881 R12: ffff95ae85e6fc58 [   70.724561] R13: 0000000000000000 R14: 0000000000000040 R15: 0000000000000000 [   70.724561] FS:  000000002c5c1380(0000) GS:ffff95bd7fcc0000(0000) knlGS:0000000000000000 [   70.724561] CS:  0010 DS: 0000 ES: 0000 C ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49997",
                        "url": "https://ubuntu.com/security/CVE-2024-49997",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: ethernet: lantiq_etop: fix memory disclosure  When applying padding, the buffer is not zeroed, which results in memory disclosure. The mentioned data is observed on the wire. This patch uses skb_put_padto() to pad Ethernet frames properly. The mentioned function zeroes the expanded buffer.  In case the packet cannot be padded it is silently dropped. Statistics are also not incremented. This driver does not support statistics in the old 32-bit format or the new 64-bit format. These will be added in the future. In its current form, the patch should be easily backported to stable versions.  Ethernet MACs on Amazon-SE and Danube cannot do padding of the packets in hardware, so software padding must be applied.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49952",
                        "url": "https://ubuntu.com/security/CVE-2024-49952",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: prevent nf_skb_duplicated corruption  syzbot found that nf_dup_ipv4() or nf_dup_ipv6() could write per-cpu variable nf_skb_duplicated in an unsafe way [1].  Disabling preemption as hinted by the splat is not enough, we have to disable soft interrupts as well.  [1] BUG: using __this_cpu_write() in preemptible [00000000] code: syz.4.282/6316  caller is nf_dup_ipv4+0x651/0x8f0 net/ipv4/netfilter/nf_dup_ipv4.c:87 CPU: 0 UID: 0 PID: 6316 Comm: syz.4.282 Not tainted 6.11.0-rc7-syzkaller-00104-g7052622fccb1 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 Call Trace:  <TASK>   __dump_stack lib/dump_stack.c:93 [inline]   dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119   check_preemption_disabled+0x10e/0x120 lib/smp_processor_id.c:49   nf_dup_ipv4+0x651/0x8f0 net/ipv4/netfilter/nf_dup_ipv4.c:87   nft_dup_ipv4_eval+0x1db/0x300 net/ipv4/netfilter/nft_dup_ipv4.c:30   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x4ad/0x1da0 net/netfilter/nf_tables_core.c:288   nft_do_chain_ipv4+0x202/0x320 net/netfilter/nft_chain_filter.c:23   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xc3/0x220 net/netfilter/core.c:626   nf_hook+0x2c4/0x450 include/linux/netfilter.h:269   NF_HOOK_COND include/linux/netfilter.h:302 [inline]   ip_output+0x185/0x230 net/ipv4/ip_output.c:433   ip_local_out net/ipv4/ip_output.c:129 [inline]   ip_send_skb+0x74/0x100 net/ipv4/ip_output.c:1495   udp_send_skb+0xacf/0x1650 net/ipv4/udp.c:981   udp_sendmsg+0x1c21/0x2a60 net/ipv4/udp.c:1269   sock_sendmsg_nosec net/socket.c:730 [inline]   __sock_sendmsg+0x1a6/0x270 net/socket.c:745   ____sys_sendmsg+0x525/0x7d0 net/socket.c:2597   ___sys_sendmsg net/socket.c:2651 [inline]   __sys_sendmmsg+0x3b2/0x740 net/socket.c:2737   __do_sys_sendmmsg net/socket.c:2766 [inline]   __se_sys_sendmmsg net/socket.c:2763 [inline]   __x64_sys_sendmmsg+0xa0/0xb0 net/socket.c:2763   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f4ce4f7def9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f4ce5d4a038 EFLAGS: 00000246 ORIG_RAX: 0000000000000133 RAX: ffffffffffffffda RBX: 00007f4ce5135f80 RCX: 00007f4ce4f7def9 RDX: 0000000000000001 RSI: 0000000020005d40 RDI: 0000000000000006 RBP: 00007f4ce4ff0b76 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f4ce5135f80 R15: 00007ffd4cbc6d68  </TASK>",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50179",
                        "url": "https://ubuntu.com/security/CVE-2024-50179",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ceph: remove the incorrect Fw reference check when dirtying pages  When doing the direct-io reads it will also try to mark pages dirty, but for the read path it won't hold the Fw caps and there is case will it get the Fw reference.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49963",
                        "url": "https://ubuntu.com/security/CVE-2024-49963",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mailbox: bcm2835: Fix timeout during suspend mode  During noirq suspend phase the Raspberry Pi power driver suffer of firmware property timeouts. The reason is that the IRQ of the underlying BCM2835 mailbox is disabled and rpi_firmware_property_list() will always run into a timeout [1].  Since the VideoCore side isn't consider as a wakeup source, set the IRQF_NO_SUSPEND flag for the mailbox IRQ in order to keep it enabled during suspend-resume cycle.  [1] PM: late suspend of devices complete after 1.754 msecs WARNING: CPU: 0 PID: 438 at drivers/firmware/raspberrypi.c:128  rpi_firmware_property_list+0x204/0x22c Firmware transaction 0x00028001 timeout Modules linked in: CPU: 0 PID: 438 Comm: bash Tainted: G         C         6.9.3-dirty #17 Hardware name: BCM2835 Call trace: unwind_backtrace from show_stack+0x18/0x1c show_stack from dump_stack_lvl+0x34/0x44 dump_stack_lvl from __warn+0x88/0xec __warn from warn_slowpath_fmt+0x7c/0xb0 warn_slowpath_fmt from rpi_firmware_property_list+0x204/0x22c rpi_firmware_property_list from rpi_firmware_property+0x68/0x8c rpi_firmware_property from rpi_firmware_set_power+0x54/0xc0 rpi_firmware_set_power from _genpd_power_off+0xe4/0x148 _genpd_power_off from genpd_sync_power_off+0x7c/0x11c genpd_sync_power_off from genpd_finish_suspend+0xcc/0xe0 genpd_finish_suspend from dpm_run_callback+0x78/0xd0 dpm_run_callback from device_suspend_noirq+0xc0/0x238 device_suspend_noirq from dpm_suspend_noirq+0xb0/0x168 dpm_suspend_noirq from suspend_devices_and_enter+0x1b8/0x5ac suspend_devices_and_enter from pm_suspend+0x254/0x2e4 pm_suspend from state_store+0xa8/0xd4 state_store from kernfs_fop_write_iter+0x154/0x1a0 kernfs_fop_write_iter from vfs_write+0x12c/0x184 vfs_write from ksys_write+0x78/0xc0 ksys_write from ret_fast_syscall+0x0/0x54 Exception stack(0xcc93dfa8 to 0xcc93dff0) [...] PM: noirq suspend of devices complete after 3095.584 msecs",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-46849",
                        "url": "https://ubuntu.com/security/CVE-2024-46849",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: meson: axg-card: fix 'use-after-free'  Buffer 'card->dai_link' is reallocated in 'meson_card_reallocate_links()', so move 'pad' pointer initialization after this function when memory is already reallocated.  Kasan bug report:  ================================================================== BUG: KASAN: slab-use-after-free in axg_card_add_link+0x76c/0x9bc Read of size 8 at addr ffff000000e8b260 by task modprobe/356  CPU: 0 PID: 356 Comm: modprobe Tainted: G O 6.9.12-sdkernel #1 Call trace:  dump_backtrace+0x94/0xec  show_stack+0x18/0x24  dump_stack_lvl+0x78/0x90  print_report+0xfc/0x5c0  kasan_report+0xb8/0xfc  __asan_load8+0x9c/0xb8  axg_card_add_link+0x76c/0x9bc [snd_soc_meson_axg_sound_card]  meson_card_probe+0x344/0x3b8 [snd_soc_meson_card_utils]  platform_probe+0x8c/0xf4  really_probe+0x110/0x39c  __driver_probe_device+0xb8/0x18c  driver_probe_device+0x108/0x1d8  __driver_attach+0xd0/0x25c  bus_for_each_dev+0xe0/0x154  driver_attach+0x34/0x44  bus_add_driver+0x134/0x294  driver_register+0xa8/0x1e8  __platform_driver_register+0x44/0x54  axg_card_pdrv_init+0x20/0x1000 [snd_soc_meson_axg_sound_card]  do_one_initcall+0xdc/0x25c  do_init_module+0x10c/0x334  load_module+0x24c4/0x26cc  init_module_from_file+0xd4/0x128  __arm64_sys_finit_module+0x1f4/0x41c  invoke_syscall+0x60/0x188  el0_svc_common.constprop.0+0x78/0x13c  do_el0_svc+0x30/0x40  el0_svc+0x38/0x78  el0t_64_sync_handler+0x100/0x12c  el0t_64_sync+0x190/0x194",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-09-27 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47679",
                        "url": "https://ubuntu.com/security/CVE-2024-47679",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  vfs: fix race between evice_inodes() and find_inode()&iput()  Hi, all  Recently I noticed a bug[1] in btrfs, after digged it into and I believe it'a race in vfs.  Let's assume there's a inode (ie ino 261) with i_count 1 is called by iput(), and there's a concurrent thread calling generic_shutdown_super().  cpu0:                              cpu1: iput() // i_count is 1   ->spin_lock(inode)   ->dec i_count to 0   ->iput_final()                    generic_shutdown_super()     ->__inode_add_lru()               ->evict_inodes()       // cause some reason[2]           ->if (atomic_read(inode->i_count)) continue;       // return before                  // inode 261 passed the above check       // list_lru_add_obj()             // and then schedule out    ->spin_unlock() // note here: the inode 261 // was still at sb list and hash list, // and I_FREEING|I_WILL_FREE was not been set  btrfs_iget()   // after some function calls   ->find_inode()     // found the above inode 261     ->spin_lock(inode)    // check I_FREEING|I_WILL_FREE    // and passed       ->__iget()     ->spin_unlock(inode)                // schedule back                                         ->spin_lock(inode)                                         // check (I_NEW|I_FREEING|I_WILL_FREE) flags,                                         // passed and set I_FREEING iput()                                  ->spin_unlock(inode)   ->spin_lock(inode)\t\t\t  ->evict()   // dec i_count to 0   ->iput_final()     ->spin_unlock()     ->evict()  Now, we have two threads simultaneously evicting the same inode, which may trigger the BUG(inode->i_state & I_CLEAR) statement both within clear_inode() and iput().  To fix the bug, recheck the inode->i_count after holding i_lock. Because in the most scenarios, the first check is valid, and the overhead of spin_lock() can be reduced.  If there is any misunderstanding, please let me know, thanks.  [1]: https://lore.kernel.org/linux-btrfs/000000000000eabe1d0619c48986@google.com/ [2]: The reason might be 1. SB_ACTIVE was removed or 2. mapping_shrinkable() return false when I reproduced the bug.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49860",
                        "url": "https://ubuntu.com/security/CVE-2024-49860",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPI: sysfs: validate return type of _STR method  Only buffer objects are valid return values of _STR.  If something else is returned description_show() will access invalid memory.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47742",
                        "url": "https://ubuntu.com/security/CVE-2024-47742",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  firmware_loader: Block path traversal  Most firmware names are hardcoded strings, or are constructed from fairly constrained format strings where the dynamic parts are just some hex numbers or such.  However, there are a couple codepaths in the kernel where firmware file names contain string components that are passed through from a device or semi-privileged userspace; the ones I could find (not counting interfaces that require root privileges) are:   - lpfc_sli4_request_firmware_update() seems to construct the firmware    filename from \"ModelName\", a string that was previously parsed out of    some descriptor (\"Vital Product Data\") in lpfc_fill_vpd()  - nfp_net_fw_find() seems to construct a firmware filename from a model    name coming from nfp_hwinfo_lookup(pf->hwinfo, \"nffw.partno\"), which I    think parses some descriptor that was read from the device.    (But this case likely isn't exploitable because the format string looks    like \"netronome/nic_%s\", and there shouldn't be any *folders* starting    with \"netronome/nic_\". The previous case was different because there,    the \"%s\" is *at the start* of the format string.)  - module_flash_fw_schedule() is reachable from the    ETHTOOL_MSG_MODULE_FW_FLASH_ACT netlink command, which is marked as    GENL_UNS_ADMIN_PERM (meaning CAP_NET_ADMIN inside a user namespace is    enough to pass the privilege check), and takes a userspace-provided    firmware name.    (But I think to reach this case, you need to have CAP_NET_ADMIN over a    network namespace that a special kind of ethernet device is mapped into,    so I think this is not a viable attack path in practice.)  Fix it by rejecting any firmware names containing \"..\" path components.  For what it's worth, I went looking and haven't found any USB device drivers that use the firmware loader dangerously.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47684",
                        "url": "https://ubuntu.com/security/CVE-2024-47684",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tcp: check skb is non-NULL in tcp_rto_delta_us()  We have some machines running stock Ubuntu 20.04.6 which is their 5.4.0-174-generic kernel that are running ceph and recently hit a null ptr dereference in tcp_rearm_rto(). Initially hitting it from the TLP path, but then later we also saw it getting hit from the RACK case as well. Here are examples of the oops messages we saw in each of those cases:  Jul 26 15:05:02 rx [11061395.780353] BUG: kernel NULL pointer dereference, address: 0000000000000020 Jul 26 15:05:02 rx [11061395.787572] #PF: supervisor read access in kernel mode Jul 26 15:05:02 rx [11061395.792971] #PF: error_code(0x0000) - not-present page Jul 26 15:05:02 rx [11061395.798362] PGD 0 P4D 0 Jul 26 15:05:02 rx [11061395.801164] Oops: 0000 [#1] SMP NOPTI Jul 26 15:05:02 rx [11061395.805091] CPU: 0 PID: 9180 Comm: msgr-worker-1 Tainted: G W 5.4.0-174-generic #193-Ubuntu Jul 26 15:05:02 rx [11061395.814996] Hardware name: Supermicro SMC 2x26 os-gen8 64C NVME-Y 256G/H12SSW-NTR, BIOS 2.5.V1.2U.NVMe.UEFI 05/09/2023 Jul 26 15:05:02 rx [11061395.825952] RIP: 0010:tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.830656] Code: 87 ca 04 00 00 00 5b 41 5c 41 5d 5d c3 c3 49 8b bc 24 40 06 00 00 eb 8d 48 bb cf f7 53 e3 a5 9b c4 20 4c 89 ef e8 0c fe 0e 00 <48> 8b 78 20 48 c1 ef 03 48 89 f8 41 8b bc 24 80 04 00 00 48 f7 e3 Jul 26 15:05:02 rx [11061395.849665] RSP: 0018:ffffb75d40003e08 EFLAGS: 00010246 Jul 26 15:05:02 rx [11061395.855149] RAX: 0000000000000000 RBX: 20c49ba5e353f7cf RCX: 0000000000000000 Jul 26 15:05:02 rx [11061395.862542] RDX: 0000000062177c30 RSI: 000000000000231c RDI: ffff9874ad283a60 Jul 26 15:05:02 rx [11061395.869933] RBP: ffffb75d40003e20 R08: 0000000000000000 R09: ffff987605e20aa8 Jul 26 15:05:02 rx [11061395.877318] R10: ffffb75d40003f00 R11: ffffb75d4460f740 R12: ffff9874ad283900 Jul 26 15:05:02 rx [11061395.884710] R13: ffff9874ad283a60 R14: ffff9874ad283980 R15: ffff9874ad283d30 Jul 26 15:05:02 rx [11061395.892095] FS: 00007f1ef4a2e700(0000) GS:ffff987605e00000(0000) knlGS:0000000000000000 Jul 26 15:05:02 rx [11061395.900438] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Jul 26 15:05:02 rx [11061395.906435] CR2: 0000000000000020 CR3: 0000003e450ba003 CR4: 0000000000760ef0 Jul 26 15:05:02 rx [11061395.913822] PKRU: 55555554 Jul 26 15:05:02 rx [11061395.916786] Call Trace: Jul 26 15:05:02 rx [11061395.919488] Jul 26 15:05:02 rx [11061395.921765] ? show_regs.cold+0x1a/0x1f Jul 26 15:05:02 rx [11061395.925859] ? __die+0x90/0xd9 Jul 26 15:05:02 rx [11061395.929169] ? no_context+0x196/0x380 Jul 26 15:05:02 rx [11061395.933088] ? ip6_protocol_deliver_rcu+0x4e0/0x4e0 Jul 26 15:05:02 rx [11061395.938216] ? ip6_sublist_rcv_finish+0x3d/0x50 Jul 26 15:05:02 rx [11061395.943000] ? __bad_area_nosemaphore+0x50/0x1a0 Jul 26 15:05:02 rx [11061395.947873] ? bad_area_nosemaphore+0x16/0x20 Jul 26 15:05:02 rx [11061395.952486] ? do_user_addr_fault+0x267/0x450 Jul 26 15:05:02 rx [11061395.957104] ? ipv6_list_rcv+0x112/0x140 Jul 26 15:05:02 rx [11061395.961279] ? __do_page_fault+0x58/0x90 Jul 26 15:05:02 rx [11061395.965458] ? do_page_fault+0x2c/0xe0 Jul 26 15:05:02 rx [11061395.969465] ? page_fault+0x34/0x40 Jul 26 15:05:02 rx [11061395.973217] ? tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.977313] ? tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.981408] tcp_send_loss_probe+0x10b/0x220 Jul 26 15:05:02 rx [11061395.985937] tcp_write_timer_handler+0x1b4/0x240 Jul 26 15:05:02 rx [11061395.990809] tcp_write_timer+0x9e/0xe0 Jul 26 15:05:02 rx [11061395.994814] ? tcp_write_timer_handler+0x240/0x240 Jul 26 15:05:02 rx [11061395.999866] call_timer_fn+0x32/0x130 Jul 26 15:05:02 rx [11061396.003782] __run_timers.part.0+0x180/0x280 Jul 26 15:05:02 rx [11061396.008309] ? recalibrate_cpu_khz+0x10/0x10 Jul 26 15:05:02 rx [11061396.012841] ? native_x2apic_icr_write+0x30/0x30 Jul 26 15:05:02 rx [11061396.017718] ? lapic_next_even ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47747",
                        "url": "https://ubuntu.com/security/CVE-2024-47747",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition  In the ether3_probe function, a timer is initialized with a callback function ether3_ledoff, bound to &prev(dev)->timer. Once the timer is started, there is a risk of a race condition if the module or device is removed, triggering the ether3_remove function to perform cleanup. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                    CPU1                        |  ether3_ledoff ether3_remove         |   free_netdev(dev);   |   put_devic           |   kfree(dev);         |  |  ether3_outw(priv(dev)->regs.config2 |= CFG2_CTRLO, REG_CONFIG2);                       | // use dev  Fix it by ensuring that the timer is canceled before proceeding with the cleanup in ether3_remove.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47685",
                        "url": "https://ubuntu.com/security/CVE-2024-47685",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()  syzbot reported that nf_reject_ip6_tcphdr_put() was possibly sending garbage on the four reserved tcp bits (th->res1)  Use skb_put_zero() to clear the whole TCP header, as done in nf_reject_ip_tcphdr_put()  BUG: KMSAN: uninit-value in nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255   nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255   nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344   nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288   nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626   nf_hook include/linux/netfilter.h:269 [inline]   NF_HOOK include/linux/netfilter.h:312 [inline]   ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310   __netif_receive_skb_one_core net/core/dev.c:5661 [inline]   __netif_receive_skb+0x1da/0xa00 net/core/dev.c:5775   process_backlog+0x4ad/0xa50 net/core/dev.c:6108   __napi_poll+0xe7/0x980 net/core/dev.c:6772   napi_poll net/core/dev.c:6841 [inline]   net_rx_action+0xa5a/0x19b0 net/core/dev.c:6963   handle_softirqs+0x1ce/0x800 kernel/softirq.c:554   __do_softirq+0x14/0x1a kernel/softirq.c:588   do_softirq+0x9a/0x100 kernel/softirq.c:455   __local_bh_enable_ip+0x9f/0xb0 kernel/softirq.c:382   local_bh_enable include/linux/bottom_half.h:33 [inline]   rcu_read_unlock_bh include/linux/rcupdate.h:908 [inline]   __dev_queue_xmit+0x2692/0x5610 net/core/dev.c:4450   dev_queue_xmit include/linux/netdevice.h:3105 [inline]   neigh_resolve_output+0x9ca/0xae0 net/core/neighbour.c:1565   neigh_output include/net/neighbour.h:542 [inline]   ip6_finish_output2+0x2347/0x2ba0 net/ipv6/ip6_output.c:141   __ip6_finish_output net/ipv6/ip6_output.c:215 [inline]   ip6_finish_output+0xbb8/0x14b0 net/ipv6/ip6_output.c:226   NF_HOOK_COND include/linux/netfilter.h:303 [inline]   ip6_output+0x356/0x620 net/ipv6/ip6_output.c:247   dst_output include/net/dst.h:450 [inline]   NF_HOOK include/linux/netfilter.h:314 [inline]   ip6_xmit+0x1ba6/0x25d0 net/ipv6/ip6_output.c:366   inet6_csk_xmit+0x442/0x530 net/ipv6/inet6_connection_sock.c:135   __tcp_transmit_skb+0x3b07/0x4880 net/ipv4/tcp_output.c:1466   tcp_transmit_skb net/ipv4/tcp_output.c:1484 [inline]   tcp_connect+0x35b6/0x7130 net/ipv4/tcp_output.c:4143   tcp_v6_connect+0x1bcc/0x1e40 net/ipv6/tcp_ipv6.c:333   __inet_stream_connect+0x2ef/0x1730 net/ipv4/af_inet.c:679   inet_stream_connect+0x6a/0xd0 net/ipv4/af_inet.c:750   __sys_connect_file net/socket.c:2061 [inline]   __sys_connect+0x606/0x690 net/socket.c:2078   __do_sys_connect net/socket.c:2088 [inline]   __se_sys_connect net/socket.c:2085 [inline]   __x64_sys_connect+0x91/0xe0 net/socket.c:2085   x64_sys_call+0x27a5/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:43   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was stored to memory at:   nf_reject_ip6_tcphdr_put+0x60c/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:249   nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344   nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288   nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626   nf_hook include/linux/netfilter.h:269 [inline]   NF_HOOK include/linux/netfilter.h:312 [inline]   ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310   __netif_receive_skb_one_core ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47692",
                        "url": "https://ubuntu.com/security/CVE-2024-47692",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfsd: return -EINVAL when namelen is 0  When we have a corrupted main.sqlite in /var/lib/nfs/nfsdcld/, it may result in namelen being 0, which will cause memdup_user() to return ZERO_SIZE_PTR. When we access the name.data that has been assigned the value of ZERO_SIZE_PTR in nfs4_client_to_reclaim(), null pointer dereference is triggered.  [ T1205] ================================================================== [ T1205] BUG: KASAN: null-ptr-deref in nfs4_client_to_reclaim+0xe9/0x260 [ T1205] Read of size 1 at addr 0000000000000010 by task nfsdcld/1205 [ T1205] [ T1205] CPU: 11 PID: 1205 Comm: nfsdcld Not tainted 5.10.0-00003-g2c1423731b8d #406 [ T1205] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-buildvm-ppc64le-16.ppc.fedoraproject.org-3.fc31 04/01/2014 [ T1205] Call Trace: [ T1205]  dump_stack+0x9a/0xd0 [ T1205]  ? nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  __kasan_report.cold+0x34/0x84 [ T1205]  ? nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  kasan_report+0x3a/0x50 [ T1205]  nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  ? nfsd4_release_lockowner+0x410/0x410 [ T1205]  cld_pipe_downcall+0x5ca/0x760 [ T1205]  ? nfsd4_cld_tracking_exit+0x1d0/0x1d0 [ T1205]  ? down_write_killable_nested+0x170/0x170 [ T1205]  ? avc_policy_seqno+0x28/0x40 [ T1205]  ? selinux_file_permission+0x1b4/0x1e0 [ T1205]  rpc_pipe_write+0x84/0xb0 [ T1205]  vfs_write+0x143/0x520 [ T1205]  ksys_write+0xc9/0x170 [ T1205]  ? __ia32_sys_read+0x50/0x50 [ T1205]  ? ktime_get_coarse_real_ts64+0xfe/0x110 [ T1205]  ? ktime_get_coarse_real_ts64+0xa2/0x110 [ T1205]  do_syscall_64+0x33/0x40 [ T1205]  entry_SYSCALL_64_after_hwframe+0x67/0xd1 [ T1205] RIP: 0033:0x7fdbdb761bc7 [ T1205] Code: 0f 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 514 [ T1205] RSP: 002b:00007fff8c4b7248 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ T1205] RAX: ffffffffffffffda RBX: 000000000000042b RCX: 00007fdbdb761bc7 [ T1205] RDX: 000000000000042b RSI: 00007fff8c4b75f0 RDI: 0000000000000008 [ T1205] RBP: 00007fdbdb761bb0 R08: 0000000000000000 R09: 0000000000000001 [ T1205] R10: 0000000000000000 R11: 0000000000000246 R12: 000000000000042b [ T1205] R13: 0000000000000008 R14: 00007fff8c4b75f0 R15: 0000000000000000 [ T1205] ==================================================================  Fix it by checking namelen.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47737",
                        "url": "https://ubuntu.com/security/CVE-2024-47737",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfsd: call cache_put if xdr_reserve_space returns NULL  If not enough buffer space available, but idmap_lookup has triggered lookup_fn which calls cache_get and returns successfully. Then we missed to call cache_put here which pairs with cache_get.  Reviwed-by: Jeff Layton <jlayton@kernel.org>",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2023-52917",
                        "url": "https://ubuntu.com/security/CVE-2023-52917",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()  The debugfs_create_dir() function returns error pointers. It never returns NULL. So use IS_ERR() to check it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47749",
                        "url": "https://ubuntu.com/security/CVE-2024-47749",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cxgb4: Added NULL check for lookup_atid  The lookup_atid() function can return NULL if the ATID is invalid or does not exist in the identifier table, which could lead to dereferencing a null pointer without a check in the `act_establish()` and `act_open_rpl()` functions. Add a NULL check to prevent null pointer dereferencing.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47696",
                        "url": "https://ubuntu.com/security/CVE-2024-47696",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency  In the commit aee2424246f9 (\"RDMA/iwcm: Fix a use-after-free related to destroying CM IDs\"), the function flush_workqueue is invoked to flush the work queue iwcm_wq.  But at that time, the work queue iwcm_wq was created via the function alloc_ordered_workqueue without the flag WQ_MEM_RECLAIM.  Because the current process is trying to flush the whole iwcm_wq, if iwcm_wq doesn't have the flag WQ_MEM_RECLAIM, verify that the current process is not reclaiming memory or running on a workqueue which doesn't have the flag WQ_MEM_RECLAIM as that can break forward-progress guarantee leading to a deadlock.  The call trace is as below:  [  125.350876][ T1430] Call Trace: [  125.356281][ T1430]  <TASK> [ 125.361285][ T1430] ? __warn (kernel/panic.c:693) [ 125.367640][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.375689][ T1430] ? report_bug (lib/bug.c:180 lib/bug.c:219) [ 125.382505][ T1430] ? handle_bug (arch/x86/kernel/traps.c:239) [ 125.388987][ T1430] ? exc_invalid_op (arch/x86/kernel/traps.c:260 (discriminator 1)) [ 125.395831][ T1430] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:621) [ 125.403125][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.410984][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.418764][ T1430] __flush_workqueue (kernel/workqueue.c:3970) [ 125.426021][ T1430] ? __pfx___might_resched (kernel/sched/core.c:10151) [ 125.433431][ T1430] ? destroy_cm_id (drivers/infiniband/core/iwcm.c:375) iw_cm [ 125.441209][ T1430] ? __pfx___flush_workqueue (kernel/workqueue.c:3910) [ 125.473900][ T1430] ? _raw_spin_lock_irqsave (arch/x86/include/asm/atomic.h:107 include/linux/atomic/atomic-arch-fallback.h:2170 include/linux/atomic/atomic-instrumented.h:1302 include/asm-generic/qspinlock.h:111 include/linux/spinlock.h:187 include/linux/spinlock_api_smp.h:111 kernel/locking/spinlock.c:162) [ 125.473909][ T1430] ? __pfx__raw_spin_lock_irqsave (kernel/locking/spinlock.c:161) [ 125.482537][ T1430] _destroy_id (drivers/infiniband/core/cma.c:2044) rdma_cm [ 125.495072][ T1430] nvme_rdma_free_queue (drivers/nvme/host/rdma.c:656 drivers/nvme/host/rdma.c:650) nvme_rdma [ 125.505827][ T1430] nvme_rdma_reset_ctrl_work (drivers/nvme/host/rdma.c:2180) nvme_rdma [ 125.505831][ T1430] process_one_work (kernel/workqueue.c:3231) [ 125.515122][ T1430] worker_thread (kernel/workqueue.c:3306 kernel/workqueue.c:3393) [ 125.515127][ T1430] ? __pfx_worker_thread (kernel/workqueue.c:3339) [ 125.531837][ T1430] kthread (kernel/kthread.c:389) [ 125.539864][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.550628][ T1430] ret_from_fork (arch/x86/kernel/process.c:147) [ 125.558840][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.558844][ T1430] ret_from_fork_asm (arch/x86/entry/entry_64.S:257) [  125.566487][ T1430]  </TASK> [  125.566488][ T1430] ---[ end trace 0000000000000000 ]---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47756",
                        "url": "https://ubuntu.com/security/CVE-2024-47756",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  PCI: keystone: Fix if-statement expression in ks_pcie_quirk()  This code accidentally uses && where || was intended.  It potentially results in a NULL dereference.  Thus, fix the if-statement expression to use the correct condition.  [kwilczynski: commit log]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47697",
                        "url": "https://ubuntu.com/security/CVE-2024-47697",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error  Ensure index in rtl2830_pid_filter does not exceed 31 to prevent out-of-bounds access.  dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47698",
                        "url": "https://ubuntu.com/security/CVE-2024-47698",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error  Ensure index in rtl2832_pid_filter does not exceed 31 to prevent out-of-bounds access.  dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue.  [hverkuil: added fixes tag, rtl2830_pid_filter -> rtl2832_pid_filter in logmsg]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47757",
                        "url": "https://ubuntu.com/security/CVE-2024-47757",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential oob read in nilfs_btree_check_delete()  The function nilfs_btree_check_delete(), which checks whether degeneration to direct mapping occurs before deleting a b-tree entry, causes memory access outside the block buffer when retrieving the maximum key if the root node has no entries.  This does not usually happen because b-tree mappings with 0 child nodes are never created by mkfs.nilfs2 or nilfs2 itself.  However, it can happen if the b-tree root node read from a device is configured that way, so fix this potential issue by adding a check for that case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47699",
                        "url": "https://ubuntu.com/security/CVE-2024-47699",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()  Patch series \"nilfs2: fix potential issues with empty b-tree nodes\".  This series addresses three potential issues with empty b-tree nodes that can occur with corrupted filesystem images, including one recently discovered by syzbot.   This patch (of 3):  If a b-tree is broken on the device, and the b-tree height is greater than 2 (the level of the root node is greater than 1) even if the number of child nodes of the b-tree root is 0, a NULL pointer dereference occurs in nilfs_btree_prepare_insert(), which is called from nilfs_btree_insert().  This is because, when the number of child nodes of the b-tree root is 0, nilfs_btree_do_lookup() does not set the block buffer head in any of path[x].bp_bh, leaving it as the initial value of NULL, but if the level of the b-tree root node is greater than 1, nilfs_btree_get_nonroot_node(), which accesses the buffer memory of path[x].bp_bh, is called.  Fix this issue by adding a check to nilfs_btree_root_broken(), which performs sanity checks when reading the root node from the device, to detect this inconsistency.  Thanks to Lizhi Xu for trying to solve the bug and clarifying the cause early on.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47701",
                        "url": "https://ubuntu.com/security/CVE-2024-47701",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: avoid OOB when system.data xattr changes underneath the filesystem  When looking up for an entry in an inlined directory, if e_value_offs is changed underneath the filesystem by some change in the block device, it will lead to an out-of-bounds access that KASAN detects as an UAF.  EXT4-fs (loop0): mounted filesystem 00000000-0000-0000-0000-000000000000 r/w without journal. Quota mode: none. loop0: detected capacity change from 2048 to 2047 ================================================================== BUG: KASAN: use-after-free in ext4_search_dir+0xf2/0x1c0 fs/ext4/namei.c:1500 Read of size 1 at addr ffff88803e91130f by task syz-executor269/5103  CPU: 0 UID: 0 PID: 5103 Comm: syz-executor269 Not tainted 6.11.0-rc4-syzkaller #0 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 lib/dump_stack.c:93 [inline]  dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119  print_address_description mm/kasan/report.c:377 [inline]  print_report+0x169/0x550 mm/kasan/report.c:488  kasan_report+0x143/0x180 mm/kasan/report.c:601  ext4_search_dir+0xf2/0x1c0 fs/ext4/namei.c:1500  ext4_find_inline_entry+0x4be/0x5e0 fs/ext4/inline.c:1697  __ext4_find_entry+0x2b4/0x1b30 fs/ext4/namei.c:1573  ext4_lookup_entry fs/ext4/namei.c:1727 [inline]  ext4_lookup+0x15f/0x750 fs/ext4/namei.c:1795  lookup_one_qstr_excl+0x11f/0x260 fs/namei.c:1633  filename_create+0x297/0x540 fs/namei.c:3980  do_symlinkat+0xf9/0x3a0 fs/namei.c:4587  __do_sys_symlinkat fs/namei.c:4610 [inline]  __se_sys_symlinkat fs/namei.c:4607 [inline]  __x64_sys_symlinkat+0x95/0xb0 fs/namei.c:4607  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f3e73ced469 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 21 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fff4d40c258 EFLAGS: 00000246 ORIG_RAX: 000000000000010a RAX: ffffffffffffffda RBX: 0032656c69662f2e RCX: 00007f3e73ced469 RDX: 0000000020000200 RSI: 00000000ffffff9c RDI: 00000000200001c0 RBP: 0000000000000000 R08: 00007fff4d40c290 R09: 00007fff4d40c290 R10: 0023706f6f6c2f76 R11: 0000000000000246 R12: 00007fff4d40c27c R13: 0000000000000003 R14: 431bde82d7b634db R15: 00007fff4d40c2b0  </TASK>  Calling ext4_xattr_ibody_find right after reading the inode with ext4_get_inode_loc will lead to a check of the validity of the xattrs, avoiding this problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49851",
                        "url": "https://ubuntu.com/security/CVE-2024-49851",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Clean up TPM space after command failure  tpm_dev_transmit prepares the TPM space before attempting command transmission. However if the command fails no rollback of this preparation is done. This can result in transient handles being leaked if the device is subsequently closed with no further commands performed.  Fix this by flushing the space in the event of command transmission failure.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47723",
                        "url": "https://ubuntu.com/security/CVE-2024-47723",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: fix out-of-bounds in dbNextAG() and diAlloc()  In dbNextAG() , there is no check for the case where bmp->db_numag is greater or same than MAXAG due to a polluted image, which causes an out-of-bounds. Therefore, a bounds check should be added in dbMount().  And in dbNextAG(), a check for the case where agpref is greater than bmp->db_numag should be added, so an out-of-bounds exception should be prevented.  Additionally, a check for the case where agno is greater or same than MAXAG should be added in diAlloc() to prevent out-of-bounds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47706",
                        "url": "https://ubuntu.com/security/CVE-2024-47706",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block, bfq: fix possible UAF for bfqq->bic with merge chain  1) initial state, three tasks:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t\t  |  ?            |  ?\t\t  |  ? \t\t  |  |            |  |\t\t  |  | \t\t  V  |            V  |\t\t  V  | \t\t  bfqq1           bfqq2\t\t  bfqq3 process ref:\t   1\t\t    1\t\t    1  2) bfqq1 merged to bfqq2:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t\t  |               |\t\t  |  ? \t\t  \\--------------\\|\t\t  |  | \t\t                  V\t\t  V  | \t\t  bfqq1--------->bfqq2\t\t  bfqq3 process ref:\t   0\t\t    2\t\t    1  3) bfqq2 merged to bfqq3:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t here -> ?                |\t\t  | \t\t  \\--------------\\ \\-------------\\| \t\t                  V\t\t  V \t\t  bfqq1--------->bfqq2---------->bfqq3 process ref:\t   0\t\t    1\t\t    3  In this case, IO from Process 1 will get bfqq2 from BIC1 first, and then get bfqq3 through merge chain, and finially handle IO by bfqq3. Howerver, current code will think bfqq2 is owned by BIC1, like initial state, and set bfqq2->bic to BIC1.  bfq_insert_request -> by Process 1  bfqq = bfq_init_rq(rq)   bfqq = bfq_get_bfqq_handle_split    bfqq = bic_to_bfqq    -> get bfqq2 from BIC1  bfqq->ref++  rq->elv.priv[0] = bic  rq->elv.priv[1] = bfqq  if (bfqq_process_refs(bfqq) == 1)   bfqq->bic = bic   -> record BIC1 to bfqq2    __bfq_insert_request    new_bfqq = bfq_setup_cooperator    -> get bfqq3 from bfqq2->new_bfqq    bfqq_request_freed(bfqq)    new_bfqq->ref++    rq->elv.priv[1] = new_bfqq    -> handle IO by bfqq3  Fix the problem by checking bfqq is from merge chain fist. And this might fix a following problem reported by our syzkaller(unreproducible):  ================================================================== BUG: KASAN: slab-use-after-free in bfq_do_early_stable_merge block/bfq-iosched.c:5692 [inline] BUG: KASAN: slab-use-after-free in bfq_do_or_sched_stable_merge block/bfq-iosched.c:5805 [inline] BUG: KASAN: slab-use-after-free in bfq_get_queue+0x25b0/0x2610 block/bfq-iosched.c:5889 Write of size 1 at addr ffff888123839eb8 by task kworker/0:1H/18595  CPU: 0 PID: 18595 Comm: kworker/0:1H Tainted: G             L    6.6.0-07439-gba2303cacfda #6 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 Workqueue: kblockd blk_mq_requeue_work Call Trace:  <TASK>  __dump_stack lib/dump_stack.c:88 [inline]  dump_stack_lvl+0x91/0xf0 lib/dump_stack.c:106  print_address_description mm/kasan/report.c:364 [inline]  print_report+0x10d/0x610 mm/kasan/report.c:475  kasan_report+0x8e/0xc0 mm/kasan/report.c:588  bfq_do_early_stable_merge block/bfq-iosched.c:5692 [inline]  bfq_do_or_sched_stable_merge block/bfq-iosched.c:5805 [inline]  bfq_get_queue+0x25b0/0x2610 block/bfq-iosched.c:5889  bfq_get_bfqq_handle_split+0x169/0x5d0 block/bfq-iosched.c:6757  bfq_init_rq block/bfq-iosched.c:6876 [inline]  bfq_insert_request block/bfq-iosched.c:6254 [inline]  bfq_insert_requests+0x1112/0x5cf0 block/bfq-iosched.c:6304  blk_mq_insert_request+0x290/0x8d0 block/blk-mq.c:2593  blk_mq_requeue_work+0x6bc/0xa70 block/blk-mq.c:1502  process_one_work kernel/workqueue.c:2627 [inline]  process_scheduled_works+0x432/0x13f0 kernel/workqueue.c:2700  worker_thread+0x6f2/0x1160 kernel/workqueue.c:2781  kthread+0x33c/0x440 kernel/kthread.c:388  ret_from_fork+0x4d/0x80 arch/x86/kernel/process.c:147  ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:305  </TASK>  Allocated by task 20776:  kasan_save_stack+0x20/0x40 mm/kasan/common.c:45  kasan_set_track+0x25/0x30 mm/kasan/common.c:52  __kasan_slab_alloc+0x87/0x90 mm/kasan/common.c:328  kasan_slab_alloc include/linux/kasan.h:188 [inline]  slab_post_alloc_hook mm/slab.h:763 [inline]  slab_alloc_node mm/slub.c:3458 [inline]  kmem_cache_alloc_node+0x1a4/0x6f0 mm/slub.c:3503  ioc_create_icq block/blk-ioc.c:370 [inline] ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47709",
                        "url": "https://ubuntu.com/security/CVE-2024-47709",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  can: bcm: Clear bo->bcm_proc_read after remove_proc_entry().  syzbot reported a warning in bcm_release(). [0]  The blamed change fixed another warning that is triggered when connect() is issued again for a socket whose connect()ed device has been unregistered.  However, if the socket is just close()d without the 2nd connect(), the remaining bo->bcm_proc_read triggers unnecessary remove_proc_entry() in bcm_release().  Let's clear bo->bcm_proc_read after remove_proc_entry() in bcm_notify().  [0] name '4986' WARNING: CPU: 0 PID: 5234 at fs/proc/generic.c:711 remove_proc_entry+0x2e7/0x5d0 fs/proc/generic.c:711 Modules linked in: CPU: 0 UID: 0 PID: 5234 Comm: syz-executor606 Not tainted 6.11.0-rc5-syzkaller-00178-g5517ae241919 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 RIP: 0010:remove_proc_entry+0x2e7/0x5d0 fs/proc/generic.c:711 Code: ff eb 05 e8 cb 1e 5e ff 48 8b 5c 24 10 48 c7 c7 e0 f7 aa 8e e8 2a 38 8e 09 90 48 c7 c7 60 3a 1b 8c 48 89 de e8 da 42 20 ff 90 <0f> 0b 90 90 48 8b 44 24 18 48 c7 44 24 40 0e 36 e0 45 49 c7 04 07 RSP: 0018:ffffc9000345fa20 EFLAGS: 00010246 RAX: 2a2d0aee2eb64600 RBX: ffff888032f1f548 RCX: ffff888029431e00 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffc9000345fb08 R08: ffffffff8155b2f2 R09: 1ffff1101710519a R10: dffffc0000000000 R11: ffffed101710519b R12: ffff888011d38640 R13: 0000000000000004 R14: 0000000000000000 R15: dffffc0000000000 FS:  0000000000000000(0000) GS:ffff8880b8800000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fcfb52722f0 CR3: 000000000e734000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  bcm_release+0x250/0x880 net/can/bcm.c:1578  __sock_release net/socket.c:659 [inline]  sock_close+0xbc/0x240 net/socket.c:1421  __fput+0x24a/0x8a0 fs/file_table.c:422  task_work_run+0x24f/0x310 kernel/task_work.c:228  exit_task_work include/linux/task_work.h:40 [inline]  do_exit+0xa2f/0x27f0 kernel/exit.c:882  do_group_exit+0x207/0x2c0 kernel/exit.c:1031  __do_sys_exit_group kernel/exit.c:1042 [inline]  __se_sys_exit_group kernel/exit.c:1040 [inline]  __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1040  x64_sys_call+0x2634/0x2640 arch/x86/include/generated/asm/syscalls_64.h:232  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fcfb51ee969 Code: Unable to access opcode bytes at 0x7fcfb51ee93f. RSP: 002b:00007ffce0109ca8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7 RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007fcfb51ee969 RDX: 000000000000003c RSI: 00000000000000e7 RDI: 0000000000000001 RBP: 00007fcfb526f3b0 R08: ffffffffffffffb8 R09: 0000555500000000 R10: 0000555500000000 R11: 0000000000000246 R12: 00007fcfb526f3b0 R13: 0000000000000000 R14: 00007fcfb5271ee0 R15: 00007fcfb51bf160  </TASK>",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47710",
                        "url": "https://ubuntu.com/security/CVE-2024-47710",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sock_map: Add a cond_resched() in sock_hash_free()  Several syzbot soft lockup reports all have in common sock_hash_free()  If a map with a large number of buckets is destroyed, we need to yield the cpu when needed.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47712",
                        "url": "https://ubuntu.com/security/CVE-2024-47712",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: wilc1000: fix potential RCU dereference issue in wilc_parse_join_bss_param  In the `wilc_parse_join_bss_param` function, the TSF field of the `ies` structure is accessed after the RCU read-side critical section is unlocked. According to RCU usage rules, this is illegal. Reusing this pointer can lead to unpredictable behavior, including accessing memory that has been updated or causing use-after-free issues.  This possible bug was identified using a static analysis tool developed by myself, specifically designed to detect RCU-related issues.  To address this, the TSF value is now stored in a local variable `ies_tsf` before the RCU lock is released. The `param->tsf_lo` field is then assigned using this local variable, ensuring that the TSF value is safely accessed.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47713",
                        "url": "https://ubuntu.com/security/CVE-2024-47713",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()  Since '__dev_queue_xmit()' should be called with interrupts enabled, the following backtrace:  ieee80211_do_stop()  ...  spin_lock_irqsave(&local->queue_stop_reason_lock, flags)  ...  ieee80211_free_txskb()   ieee80211_report_used_skb()    ieee80211_report_ack_skb()     cfg80211_mgmt_tx_status_ext()      nl80211_frame_tx_status()       genlmsg_multicast_netns()        genlmsg_multicast_netns_filtered()         nlmsg_multicast_filtered() \t netlink_broadcast_filtered() \t  do_one_broadcast() \t   netlink_broadcast_deliver() \t    __netlink_sendskb() \t     netlink_deliver_tap() \t      __netlink_deliver_tap_skb() \t       dev_queue_xmit() \t        __dev_queue_xmit() ; with IRQS disabled  ...  spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags)  issues the warning (as reported by syzbot reproducer):  WARNING: CPU: 2 PID: 5128 at kernel/softirq.c:362 __local_bh_enable_ip+0xc3/0x120  Fix this by implementing a two-phase skb reclamation in 'ieee80211_do_stop()', where actual work is performed outside of a section with interrupts disabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47671",
                        "url": "https://ubuntu.com/security/CVE-2024-47671",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  USB: usbtmc: prevent kernel-usb-infoleak  The syzbot reported a kernel-usb-infoleak in usbtmc_write, we need to clear the structure before filling fields.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-09 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-44931",
                        "url": "https://ubuntu.com/security/CVE-2024-44931",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gpio: prevent potential speculation leaks in gpio_device_get_desc()  Userspace may trigger a speculative read of an address outside the gpio descriptor array. Users can do that by calling gpio_ioctl() with an offset out of range. Offset is copied from user and then used as an array index to get the gpio descriptor without sanitization in gpio_device_get_desc().  This change ensures that the offset is sanitized by using array_index_nospec() to mitigate any possibility of speculative information leaks.  This bug was discovered and resolved using Coverity Static Analysis Security Testing (SAST) by Synopsys, Inc.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-08-26 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-41016",
                        "url": "https://ubuntu.com/security/CVE-2024-41016",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry()  xattr in ocfs2 maybe 'non-indexed', which saved with additional space requested.  It's better to check if the memory is out of bound before memcmp, although this possibility mainly comes from crafted poisonous images.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-29 07:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47670",
                        "url": "https://ubuntu.com/security/CVE-2024-47670",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: add bounds checking to ocfs2_xattr_find_entry()  Add a paranoia check to make sure it doesn't stray beyond valid memory region containing ocfs2 xattr entries when scanning for a match.  It will prevent out-of-bound access in case of crafted images.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-09 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47672",
                        "url": "https://ubuntu.com/security/CVE-2024-47672",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead  There is a WARNING in iwl_trans_wait_tx_queues_empty() (that was recently converted from just a message), that can be hit if we wait for TX queues to become empty after firmware died. Clearly, we can't expect anything from the firmware after it's declared dead.  Don't call iwl_trans_wait_tx_queues_empty() in this case. While it could be a good idea to stop the flow earlier, the flush functions do some maintenance work that is not related to the firmware, so keep that part of the code running even when the firmware is not running.  [edit commit message]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-09 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-46853",
                        "url": "https://ubuntu.com/security/CVE-2024-46853",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: nxp-fspi: fix the KASAN report out-of-bounds bug  Change the memcpy length to fix the out-of-bounds issue when writing the data that is not 4 byte aligned to TX FIFO.  To reproduce the issue, write 3 bytes data to NOR chip.  dd if=3b of=/dev/mtd0 [   36.926103] ================================================================== [   36.933409] BUG: KASAN: slab-out-of-bounds in nxp_fspi_exec_op+0x26ec/0x2838 [   36.940514] Read of size 4 at addr ffff00081037c2a0 by task dd/455 [   36.946721] [   36.948235] CPU: 3 UID: 0 PID: 455 Comm: dd Not tainted 6.11.0-rc5-gc7b0e37c8434 #1070 [   36.956185] Hardware name: Freescale i.MX8QM MEK (DT) [   36.961260] Call trace: [   36.963723]  dump_backtrace+0x90/0xe8 [   36.967414]  show_stack+0x18/0x24 [   36.970749]  dump_stack_lvl+0x78/0x90 [   36.974451]  print_report+0x114/0x5cc [   36.978151]  kasan_report+0xa4/0xf0 [   36.981670]  __asan_report_load_n_noabort+0x1c/0x28 [   36.986587]  nxp_fspi_exec_op+0x26ec/0x2838 [   36.990800]  spi_mem_exec_op+0x8ec/0xd30 [   36.994762]  spi_mem_no_dirmap_read+0x190/0x1e0 [   36.999323]  spi_mem_dirmap_write+0x238/0x32c [   37.003710]  spi_nor_write_data+0x220/0x374 [   37.007932]  spi_nor_write+0x110/0x2e8 [   37.011711]  mtd_write_oob_std+0x154/0x1f0 [   37.015838]  mtd_write_oob+0x104/0x1d0 [   37.019617]  mtd_write+0xb8/0x12c [   37.022953]  mtdchar_write+0x224/0x47c [   37.026732]  vfs_write+0x1e4/0x8c8 [   37.030163]  ksys_write+0xec/0x1d0 [   37.033586]  __arm64_sys_write+0x6c/0x9c [   37.037539]  invoke_syscall+0x6c/0x258 [   37.041327]  el0_svc_common.constprop.0+0x160/0x22c [   37.046244]  do_el0_svc+0x44/0x5c [   37.049589]  el0_svc+0x38/0x78 [   37.052681]  el0t_64_sync_handler+0x13c/0x158 [   37.057077]  el0t_64_sync+0x190/0x194 [   37.060775] [   37.062274] Allocated by task 455: [   37.065701]  kasan_save_stack+0x2c/0x54 [   37.069570]  kasan_save_track+0x20/0x3c [   37.073438]  kasan_save_alloc_info+0x40/0x54 [   37.077736]  __kasan_kmalloc+0xa0/0xb8 [   37.081515]  __kmalloc_noprof+0x158/0x2f8 [   37.085563]  mtd_kmalloc_up_to+0x120/0x154 [   37.089690]  mtdchar_write+0x130/0x47c [   37.093469]  vfs_write+0x1e4/0x8c8 [   37.096901]  ksys_write+0xec/0x1d0 [   37.100332]  __arm64_sys_write+0x6c/0x9c [   37.104287]  invoke_syscall+0x6c/0x258 [   37.108064]  el0_svc_common.constprop.0+0x160/0x22c [   37.112972]  do_el0_svc+0x44/0x5c [   37.116319]  el0_svc+0x38/0x78 [   37.119401]  el0t_64_sync_handler+0x13c/0x158 [   37.123788]  el0t_64_sync+0x190/0x194 [   37.127474] [   37.128977] The buggy address belongs to the object at ffff00081037c2a0 [   37.128977]  which belongs to the cache kmalloc-8 of size 8 [   37.141177] The buggy address is located 0 bytes inside of [   37.141177]  allocated 3-byte region [ffff00081037c2a0, ffff00081037c2a3) [   37.153465] [   37.154971] The buggy address belongs to the physical page: [   37.160559] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x89037c [   37.168596] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff) [   37.175149] page_type: 0xfdffffff(slab) [   37.179021] raw: 0bfffe0000000000 ffff000800002500 dead000000000122 0000000000000000 [   37.186788] raw: 0000000000000000 0000000080800080 00000001fdffffff 0000000000000000 [   37.194553] page dumped because: kasan: bad access detected [   37.200144] [   37.201647] Memory state around the buggy address: [   37.206460]  ffff00081037c180: fa fc fc fc fa fc fc fc fa fc fc fc fa fc fc fc [   37.213701]  ffff00081037c200: fa fc fc fc 05 fc fc fc 03 fc fc fc 02 fc fc fc [   37.220946] >ffff00081037c280: 06 fc fc fc 03 fc fc fc fc fc fc fc fc fc fc fc [   37.228186]                                ^ [   37.232473]  ffff00081037c300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [   37.239718]  ffff00081037c380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [   37.246962] ============================================================== ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-09-27 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-46854",
                        "url": "https://ubuntu.com/security/CVE-2024-46854",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: dpaa: Pad packets to ETH_ZLEN  When sending packets under 60 bytes, up to three bytes of the buffer following the data may be leaked. Avoid this by extending all packets to ETH_ZLEN, ensuring nothing is leaked in the padding. This bug can be reproduced by running  \t$ ping -s 11 destination",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-09-27 13:15:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [
                    2093775,
                    2086606,
                    2089233,
                    2095347,
                    2095348,
                    2093785,
                    2078011,
                    2089699,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2086606,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233
                ],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2024-43863",
                                "url": "https://ubuntu.com/security/CVE-2024-43863",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/vmwgfx: Fix a deadlock in dma buf fence polling  Introduce a version of the fence ops that on release doesn't remove the fence from the pending list, and thus doesn't require a lock to fix poll->fence wait->fence unref deadlocks.  vmwgfx overwrites the wait callback to iterate over the list of all fences and update their status, to do that it holds a lock to prevent the list modifcations from other threads. The fence destroy callback both deletes the fence and removes it from the list of pending fences, for which it holds a lock.  dma buf polling cb unrefs a fence after it's been signaled: so the poll calls the wait, which signals the fences, which are being destroyed. The destruction tries to acquire the lock on the pending fences list which it can never get because it's held by the wait from which it was called.  Old bug, but not a lot of userspace apps were using dma-buf polling interfaces. Fix those, in particular this fixes KDE stalls/deadlock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-08-21 00:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-40911",
                                "url": "https://ubuntu.com/security/CVE-2024-40911",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: cfg80211: Lock wiphy in cfg80211_get_station  Wiphy should be locked before calling rdev_get_station() (see lockdep assert in ieee80211_get_station()).  This fixes the following kernel NULL dereference:   Unable to handle kernel NULL pointer dereference at virtual address 0000000000000050  Mem abort info:    ESR = 0x0000000096000006    EC = 0x25: DABT (current EL), IL = 32 bits    SET = 0, FnV = 0    EA = 0, S1PTW = 0    FSC = 0x06: level 2 translation fault  Data abort info:    ISV = 0, ISS = 0x00000006    CM = 0, WnR = 0  user pgtable: 4k pages, 48-bit VAs, pgdp=0000000003001000  [0000000000000050] pgd=0800000002dca003, p4d=0800000002dca003, pud=08000000028e9003, pmd=0000000000000000  Internal error: Oops: 0000000096000006 [#1] SMP  Modules linked in: netconsole dwc3_meson_g12a dwc3_of_simple dwc3 ip_gre gre ath10k_pci ath10k_core ath9k ath9k_common ath9k_hw ath  CPU: 0 PID: 1091 Comm: kworker/u8:0 Not tainted 6.4.0-02144-g565f9a3a7911-dirty #705  Hardware name: RPT (r1) (DT)  Workqueue: bat_events batadv_v_elp_throughput_metric_update  pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)  pc : ath10k_sta_statistics+0x10/0x2dc [ath10k_core]  lr : sta_set_sinfo+0xcc/0xbd4  sp : ffff000007b43ad0  x29: ffff000007b43ad0 x28: ffff0000071fa900 x27: ffff00000294ca98  x26: ffff000006830880 x25: ffff000006830880 x24: ffff00000294c000  x23: 0000000000000001 x22: ffff000007b43c90 x21: ffff800008898acc  x20: ffff00000294c6e8 x19: ffff000007b43c90 x18: 0000000000000000  x17: 445946354d552d78 x16: 62661f7200000000 x15: 57464f445946354d  x14: 0000000000000000 x13: 00000000000000e3 x12: d5f0acbcebea978e  x11: 00000000000000e3 x10: 000000010048fe41 x9 : 0000000000000000  x8 : ffff000007b43d90 x7 : 000000007a1e2125 x6 : 0000000000000000  x5 : ffff0000024e0900 x4 : ffff800000a0250c x3 : ffff000007b43c90  x2 : ffff00000294ca98 x1 : ffff000006831920 x0 : 0000000000000000  Call trace:   ath10k_sta_statistics+0x10/0x2dc [ath10k_core]   sta_set_sinfo+0xcc/0xbd4   ieee80211_get_station+0x2c/0x44   cfg80211_get_station+0x80/0x154   batadv_v_elp_get_throughput+0x138/0x1fc   batadv_v_elp_throughput_metric_update+0x1c/0xa4   process_one_work+0x1ec/0x414   worker_thread+0x70/0x46c   kthread+0xdc/0xe0   ret_from_fork+0x10/0x20  Code: a9bb7bfd 910003fd a90153f3 f9411c40 (f9402814)  This happens because STA has time to disconnect and reconnect before batadv_v_elp_throughput_metric_update() delayed work gets scheduled. In this situation, ath10k_sta_state() can be in the middle of resetting arsta data when the work queue get chance to be scheduled and ends up accessing it. Locking wiphy prevents that.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-12 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-35896",
                                "url": "https://ubuntu.com/security/CVE-2024-35896",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: netfilter: validate user input for expected length I got multiple syzbot reports showing old bugs exposed by BPF after commit 20f2505fb436 (\"bpf: Try to avoid kzalloc in cgroup/{s,g}etsockopt\") setsockopt() @optlen argument should be taken into account before copying data. BUG: KASAN: slab-out-of-bounds in copy_from_sockptr_offset include/linux/sockptr.h:49 [inline] BUG: KASAN: slab-out-of-bounds in copy_from_sockptr include/linux/sockptr.h:55 [inline] BUG: KASAN: slab-out-of-bounds in do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline] BUG: KASAN: slab-out-of-bounds in do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627 Read of size 96 at addr ffff88802cd73da0 by task syz-executor.4/7238 CPU: 1 PID: 7238 Comm: syz-executor.4 Not tainted 6.9.0-rc2-next-20240403-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 print_address_description mm/kasan/report.c:377 [inline] print_report+0x169/0x550 mm/kasan/report.c:488 kasan_report+0x143/0x180 mm/kasan/report.c:601 kasan_check_range+0x282/0x290 mm/kasan/generic.c:189 __asan_memcpy+0x29/0x70 mm/kasan/shadow.c:105 copy_from_sockptr_offset include/linux/sockptr.h:49 [inline] copy_from_sockptr include/linux/sockptr.h:55 [inline] do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline] do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627 nf_setsockopt+0x295/0x2c0 net/netfilter/nf_sockopt.c:101 do_sock_setsockopt+0x3af/0x720 net/socket.c:2311 __sys_setsockopt+0x1ae/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340 do_syscall_64+0xfb/0x240 entry_SYSCALL_64_after_hwframe+0x72/0x7a RIP: 0033:0x7fd22067dde9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fd21f9ff0c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 00007fd2207abf80 RCX: 00007fd22067dde9 RDX: 0000000000000040 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 00007fd2206ca47a R08: 0000000000000001 R09: 0000000000000000 R10: 0000000020000880 R11: 0000000000000246 R12: 0000000000000000 R13: 000000000000000b R14: 00007fd2207abf80 R15: 00007ffd2d0170d8 </TASK> Allocated by task 7238: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:370 [inline] __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:387 kasan_kmalloc include/linux/kasan.h:211 [inline] __do_kmalloc_node mm/slub.c:4069 [inline] __kmalloc_noprof+0x200/0x410 mm/slub.c:4082 kmalloc_noprof include/linux/slab.h:664 [inline] __cgroup_bpf_run_filter_setsockopt+0xd47/0x1050 kernel/bpf/cgroup.c:1869 do_sock_setsockopt+0x6b4/0x720 net/socket.c:2293 __sys_setsockopt+0x1ae/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340 do_syscall_64+0xfb/0x240 entry_SYSCALL_64_after_hwframe+0x72/0x7a The buggy address belongs to the object at ffff88802cd73da0 which belongs to the cache kmalloc-8 of size 8 The buggy address is located 0 bytes inside of allocated 1-byte region [ffff88802cd73da0, ffff88802cd73da1) The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff88802cd73020 pfn:0x2cd73 flags: 0xfff80000000000(node=0|zone=1|lastcpupid=0xfff) page_type: 0xffffefff(slab) raw: 00fff80000000000 ffff888015041280 dead000000000100 dead000000000122 raw: ffff88802cd73020 000000008080007f 00000001ffffefff 00 ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-05-19 09:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2023-52458",
                                "url": "https://ubuntu.com/security/CVE-2023-52458",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: block: add check that partition length needs to be aligned with block size Before calling add partition or resize partition, there is no check on whether the length is aligned with the logical block size. If the logical block size of the disk is larger than 512 bytes, then the partition size maybe not the multiple of the logical block size, and when the last sector is read, bio_truncate() will adjust the bio size, resulting in an IO error if the size of the read command is smaller than the logical block size.If integrity data is supported, this will also result in a null pointer dereference when calling bio_integrity_free.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-02-23 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-35887",
                                "url": "https://ubuntu.com/security/CVE-2024-35887",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: ax25: fix use-after-free bugs caused by ax25_ds_del_timer When the ax25 device is detaching, the ax25_dev_device_down() calls ax25_ds_del_timer() to cleanup the slave_timer. When the timer handler is running, the ax25_ds_del_timer() that calls del_timer() in it will return directly. As a result, the use-after-free bugs could happen, one of the scenarios is shown below: (Thread 1) | (Thread 2) | ax25_ds_timeout() ax25_dev_device_down() | ax25_ds_del_timer() | del_timer() | ax25_dev_put() //FREE | | ax25_dev-> //USE In order to mitigate bugs, when the device is detaching, use timer_shutdown_sync() to stop the timer.",
                                "cve_priority": "low",
                                "cve_public_date": "2024-05-19 09:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-40965",
                                "url": "https://ubuntu.com/security/CVE-2024-40965",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  i2c: lpi2c: Avoid calling clk_get_rate during transfer  Instead of repeatedly calling clk_get_rate for each transfer, lock the clock rate and cache the value. A deadlock has been observed while adding tlv320aic32x4 audio codec to the system. When this clock provider adds its clock, the clk mutex is locked already, it needs to access i2c, which in return needs the mutex for clk_get_rate as well.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-12 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-40982",
                                "url": "https://ubuntu.com/security/CVE-2024-40982",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-12 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-41066",
                                "url": "https://ubuntu.com/security/CVE-2024-41066",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ibmvnic: Add tx check to prevent skb leak  Below is a summary of how the driver stores a reference to an skb during transmit:     tx_buff[free_map[consumer_index]]->skb = new_skb;     free_map[consumer_index] = IBMVNIC_INVALID_MAP;     consumer_index ++; Where variable data looks like this:     free_map == [4, IBMVNIC_INVALID_MAP, IBMVNIC_INVALID_MAP, 0, 3]                                                \tconsumer_index^     tx_buff == [skb=null, skb=<ptr>, skb=<ptr>, skb=null, skb=null]  The driver has checks to ensure that free_map[consumer_index] pointed to a valid index but there was no check to ensure that this index pointed to an unused/null skb address. So, if, by some chance, our free_map and tx_buff lists become out of sync then we were previously risking an skb memory leak. This could then cause tcp congestion control to stop sending packets, eventually leading to ETIMEDOUT.  Therefore, add a conditional to ensure that the skb address is null. If not then warn the user (because this is still a bug that should be patched) and free the old pointer to prevent memleak/tcp problems.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-29 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-42252",
                                "url": "https://ubuntu.com/security/CVE-2024-42252",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  closures: Change BUG_ON() to WARN_ON()  If a BUG_ON() can be hit in the wild, it shouldn't be a BUG_ON()  For reference, this has popped up once in the CI, and we'll need more info to debug it:  03240 ------------[ cut here ]------------ 03240 kernel BUG at lib/closure.c:21! 03240 kernel BUG at lib/closure.c:21! 03240 Internal error: Oops - BUG: 00000000f2000800 [#1] SMP 03240 Modules linked in: 03240 CPU: 15 PID: 40534 Comm: kworker/u80:1 Not tainted 6.10.0-rc4-ktest-ga56da69799bd #25570 03240 Hardware name: linux,dummy-virt (DT) 03240 Workqueue: btree_update btree_interior_update_work 03240 pstate: 00001005 (nzcv daif -PAN -UAO -TCO -DIT +SSBS BTYPE=--) 03240 pc : closure_put+0x224/0x2a0 03240 lr : closure_put+0x24/0x2a0 03240 sp : ffff0000d12071c0 03240 x29: ffff0000d12071c0 x28: dfff800000000000 x27: ffff0000d1207360 03240 x26: 0000000000000040 x25: 0000000000000040 x24: 0000000000000040 03240 x23: ffff0000c1f20180 x22: 0000000000000000 x21: ffff0000c1f20168 03240 x20: 0000000040000000 x19: ffff0000c1f20140 x18: 0000000000000001 03240 x17: 0000000000003aa0 x16: 0000000000003ad0 x15: 1fffe0001c326974 03240 x14: 0000000000000a1e x13: 0000000000000000 x12: 1fffe000183e402d 03240 x11: ffff6000183e402d x10: dfff800000000000 x9 : ffff6000183e402e 03240 x8 : 0000000000000001 x7 : 00009fffe7c1bfd3 x6 : ffff0000c1f2016b 03240 x5 : ffff0000c1f20168 x4 : ffff6000183e402e x3 : ffff800081391954 03240 x2 : 0000000000000001 x1 : 0000000000000000 x0 : 00000000a8000000 03240 Call trace: 03240  closure_put+0x224/0x2a0 03240  bch2_check_for_deadlock+0x910/0x1028 03240  bch2_six_check_for_deadlock+0x1c/0x30 03240  six_lock_slowpath.isra.0+0x29c/0xed0 03240  six_lock_ip_waiter+0xa8/0xf8 03240  __bch2_btree_node_lock_write+0x14c/0x298 03240  bch2_trans_lock_write+0x6d4/0xb10 03240  __bch2_trans_commit+0x135c/0x5520 03240  btree_interior_update_work+0x1248/0x1c10 03240  process_scheduled_works+0x53c/0xd90 03240  worker_thread+0x370/0x8c8 03240  kthread+0x258/0x2e8 03240  ret_from_fork+0x10/0x20 03240 Code: aa1303e0 d63f0020 a94363f7 17ffff8c (d4210000) 03240 ---[ end trace 0000000000000000 ]--- 03240 Kernel panic - not syncing: Oops - BUG: Fatal exception 03240 SMP: stopping secondary CPUs 03241 SMP: failed to stop secondary CPUs 13,15 03241 Kernel Offset: disabled 03241 CPU features: 0x00,00000003,80000008,4240500b 03241 Memory Limit: none 03241 ---[ end Kernel panic - not syncing: Oops - BUG: Fatal exception ]--- 03246 ========= FAILED TIMEOUT copygc_torture_no_checksum in 7200s",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-08-08 09:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-46731",
                                "url": "https://ubuntu.com/security/CVE-2024-46731",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/pm: fix the Out-of-bounds read warning  using index i - 1U may beyond element index for mc_data[] when i = 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-09-18 07:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47674",
                                "url": "https://ubuntu.com/security/CVE-2024-47674",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mm: avoid leaving partial pfn mappings around in error case  As Jann points out, PFN mappings are special, because unlike normal memory mappings, there is no lifetime information associated with the mapping - it is just a raw mapping of PFNs with no reference counting of a 'struct page'.  That's all very much intentional, but it does mean that it's easy to mess up the cleanup in case of errors.  Yes, a failed mmap() will always eventually clean up any partial mappings, but without any explicit lifetime in the page table mapping itself, it's very easy to do the error handling in the wrong order.  In particular, it's easy to mistakenly free the physical backing store before the page tables are actually cleaned up and (temporarily) have stale dangling PTE entries.  To make this situation less error-prone, just make sure that any partial pfn mapping is torn down early, before any other error handling.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-15 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-38588",
                                "url": "https://ubuntu.com/security/CVE-2024-38588",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix possible use-after-free issue in ftrace_location() KASAN reports a bug: BUG: KASAN: use-after-free in ftrace_location+0x90/0x120 Read of size 8 at addr ffff888141d40010 by task insmod/424 CPU: 8 PID: 424 Comm: insmod Tainted: G W 6.9.0-rc2+ [...] Call Trace: <TASK> dump_stack_lvl+0x68/0xa0 print_report+0xcf/0x610 kasan_report+0xb5/0xe0 ftrace_location+0x90/0x120 register_kprobe+0x14b/0xa40 kprobe_init+0x2d/0xff0 [kprobe_example] do_one_initcall+0x8f/0x2d0 do_init_module+0x13a/0x3c0 load_module+0x3082/0x33d0 init_module_from_file+0xd2/0x130 __x64_sys_finit_module+0x306/0x440 do_syscall_64+0x68/0x140 entry_SYSCALL_64_after_hwframe+0x71/0x79 The root cause is that, in lookup_rec(), ftrace record of some address is being searched in ftrace pages of some module, but those ftrace pages at the same time is being freed in ftrace_release_mod() as the corresponding module is being deleted: CPU1 | CPU2 register_kprobes() { | delete_module() { check_kprobe_address_safe() { | arch_check_ftrace_location() { | ftrace_location() { | lookup_rec() // USE! | ftrace_release_mod() // Free! To fix this issue: 1. Hold rcu lock as accessing ftrace pages in ftrace_location_range(); 2. Use ftrace_location_range() instead of lookup_rec() in ftrace_location(); 3. Call synchronize_rcu() before freeing any ftrace pages both in ftrace_process_locs()/ftrace_release_mod()/ftrace_free_mem().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-06-19 14:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50265",
                                "url": "https://ubuntu.com/security/CVE-2024-50265",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: remove entry once instead of null-ptr-dereference in ocfs2_xa_remove()  Syzkaller is able to provoke null-ptr-dereference in ocfs2_xa_remove():  [   57.319872] (a.out,1161,7):ocfs2_xa_remove:2028 ERROR: status = -12 [   57.320420] (a.out,1161,7):ocfs2_xa_cleanup_value_truncate:1999 ERROR: Partial truncate while removing xattr overlay.upper.  Leaking 1 clusters and removing the entry [   57.321727] BUG: kernel NULL pointer dereference, address: 0000000000000004 [...] [   57.325727] RIP: 0010:ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [...] [   57.331328] Call Trace: [   57.331477]  <TASK> [...] [   57.333511]  ? do_user_addr_fault+0x3e5/0x740 [   57.333778]  ? exc_page_fault+0x70/0x170 [   57.334016]  ? asm_exc_page_fault+0x2b/0x30 [   57.334263]  ? __pfx_ocfs2_xa_block_wipe_namevalue+0x10/0x10 [   57.334596]  ? ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [   57.334913]  ocfs2_xa_remove_entry+0x23/0xc0 [   57.335164]  ocfs2_xa_set+0x704/0xcf0 [   57.335381]  ? _raw_spin_unlock+0x1a/0x40 [   57.335620]  ? ocfs2_inode_cache_unlock+0x16/0x20 [   57.335915]  ? trace_preempt_on+0x1e/0x70 [   57.336153]  ? start_this_handle+0x16c/0x500 [   57.336410]  ? preempt_count_sub+0x50/0x80 [   57.336656]  ? _raw_read_unlock+0x20/0x40 [   57.336906]  ? start_this_handle+0x16c/0x500 [   57.337162]  ocfs2_xattr_block_set+0xa6/0x1e0 [   57.337424]  __ocfs2_xattr_set_handle+0x1fd/0x5d0 [   57.337706]  ? ocfs2_start_trans+0x13d/0x290 [   57.337971]  ocfs2_xattr_set+0xb13/0xfb0 [   57.338207]  ? dput+0x46/0x1c0 [   57.338393]  ocfs2_xattr_trusted_set+0x28/0x30 [   57.338665]  ? ocfs2_xattr_trusted_set+0x28/0x30 [   57.338948]  __vfs_removexattr+0x92/0xc0 [   57.339182]  __vfs_removexattr_locked+0xd5/0x190 [   57.339456]  ? preempt_count_sub+0x50/0x80 [   57.339705]  vfs_removexattr+0x5f/0x100 [...]  Reproducer uses faultinject facility to fail ocfs2_xa_remove() -> ocfs2_xa_value_truncate() with -ENOMEM.  In this case the comment mentions that we can return 0 if ocfs2_xa_cleanup_value_truncate() is going to wipe the entry anyway. But the following 'rc' check is wrong and execution flow do 'ocfs2_xa_remove_entry(loc);' twice: * 1st: in ocfs2_xa_cleanup_value_truncate(); * 2nd: returning back to ocfs2_xa_remove() instead of going to 'out'.  Fix this by skipping the 2nd removal of the same entry and making syzkaller repro happy.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50267",
                                "url": "https://ubuntu.com/security/CVE-2024-50267",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  USB: serial: io_edgeport: fix use after free in debug printk  The \"dev_dbg(&urb->dev->dev, ...\" which happens after usb_free_urb(urb) is a use after free of the \"urb\" pointer.  Store the \"dev\" pointer at the start of the function to avoid this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50269",
                                "url": "https://ubuntu.com/security/CVE-2024-50269",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: musb: sunxi: Fix accessing an released usb phy  Commit 6ed05c68cbca (\"usb: musb: sunxi: Explicitly release USB PHY on exit\") will cause that usb phy @glue->xceiv is accessed after released.  1) register platform driver @sunxi_musb_driver // get the usb phy @glue->xceiv sunxi_musb_probe() -> devm_usb_get_phy().  2) register and unregister platform driver @musb_driver musb_probe() -> sunxi_musb_init() use the phy here //the phy is released here musb_remove() -> sunxi_musb_exit() -> devm_usb_put_phy()  3) register @musb_driver again musb_probe() -> sunxi_musb_init() use the phy here but the phy has been released at 2). ...  Fixed by reverting the commit, namely, removing devm_usb_put_phy() from sunxi_musb_exit().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2021-47469",
                                "url": "https://ubuntu.com/security/CVE-2021-47469",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: spi: Fix deadlock when adding SPI controllers on SPI buses Currently we have a global spi_add_lock which we take when adding new devices so that we can check that we're not trying to reuse a chip select that's already controlled. This means that if the SPI device is itself a SPI controller and triggers the instantiation of further SPI devices we trigger a deadlock as we try to register and instantiate those devices while in the process of doing so for the parent controller and hence already holding the global spi_add_lock. Since we only care about concurrency within a single SPI bus move the lock to be per controller, avoiding the deadlock. This can be easily triggered in the case of spi-mux.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-05-22 07:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50273",
                                "url": "https://ubuntu.com/security/CVE-2024-50273",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: reinitialize delayed ref list after deleting it from the list  At insert_delayed_ref() if we need to update the action of an existing ref to BTRFS_DROP_DELAYED_REF, we delete the ref from its ref head's ref_add_list using list_del(), which leaves the ref's add_list member not reinitialized, as list_del() sets the next and prev members of the list to LIST_POISON1 and LIST_POISON2, respectively.  If later we end up calling drop_delayed_ref() against the ref, which can happen during merging or when destroying delayed refs due to a transaction abort, we can trigger a crash since at drop_delayed_ref() we call list_empty() against the ref's add_list, which returns false since the list was not reinitialized after the list_del() and as a consequence we call list_del() again at drop_delayed_ref(). This results in an invalid list access since the next and prev members are set to poison pointers, resulting in a splat if CONFIG_LIST_HARDENED and CONFIG_DEBUG_LIST are set or invalid poison pointer dereferences otherwise.  So fix this by deleting from the list with list_del_init() instead.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-53066",
                                "url": "https://ubuntu.com/security/CVE-2024-53066",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfs: Fix KMSAN warning in decode_getfattr_attrs()  Fix the following KMSAN warning:  CPU: 1 UID: 0 PID: 7651 Comm: cp Tainted: G    B Tainted: [B]=BAD_PAGE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009) ===================================================== ===================================================== BUG: KMSAN: uninit-value in decode_getfattr_attrs+0x2d6d/0x2f90  decode_getfattr_attrs+0x2d6d/0x2f90  decode_getfattr_generic+0x806/0xb00  nfs4_xdr_dec_getattr+0x1de/0x240  rpcauth_unwrap_resp_decode+0xab/0x100  rpcauth_unwrap_resp+0x95/0xc0  call_decode+0x4ff/0xb50  __rpc_execute+0x57b/0x19d0  rpc_execute+0x368/0x5e0  rpc_run_task+0xcfe/0xee0  nfs4_proc_getattr+0x5b5/0x990  __nfs_revalidate_inode+0x477/0xd00  nfs_access_get_cached+0x1021/0x1cc0  nfs_do_access+0x9f/0xae0  nfs_permission+0x1e4/0x8c0  inode_permission+0x356/0x6c0  link_path_walk+0x958/0x1330  path_lookupat+0xce/0x6b0  filename_lookup+0x23e/0x770  vfs_statx+0xe7/0x970  vfs_fstatat+0x1f2/0x2c0  __se_sys_newfstatat+0x67/0x880  __x64_sys_newfstatat+0xbd/0x120  x64_sys_call+0x1826/0x3cf0  do_syscall_64+0xd0/0x1b0  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The KMSAN warning is triggered in decode_getfattr_attrs(), when calling decode_attr_mdsthreshold(). It appears that fattr->mdsthreshold is not initialized.  Fix the issue by initializing fattr->mdsthreshold to NULL in nfs_fattr_init().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50278",
                                "url": "https://ubuntu.com/security/CVE-2024-50278",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  dm cache: fix potential out-of-bounds access on the first resume  Out-of-bounds access occurs if the fast device is expanded unexpectedly before the first-time resume of the cache table. This happens because expanding the fast device requires reloading the cache table for cache_create to allocate new in-core data structures that fit the new size, and the check in cache_preresume is not performed during the first resume, leading to the issue.  Reproduce steps:  1. prepare component devices:  dmsetup create cmeta --table \"0 8192 linear /dev/sdc 0\" dmsetup create cdata --table \"0 65536 linear /dev/sdc 8192\" dmsetup create corig --table \"0 524288 linear /dev/sdc 262144\" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct  2. load a cache table of 512 cache blocks, and deliberately expand the    fast device before resuming the cache, making the in-core data    structures inadequate.  dmsetup create cache --notable dmsetup reload cache --table \"0 524288 cache /dev/mapper/cmeta \\ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0\" dmsetup reload cdata --table \"0 131072 linear /dev/sdc 8192\" dmsetup resume cdata dmsetup resume cache  3. suspend the cache to write out the in-core dirty bitset and hint    array, leading to out-of-bounds access to the dirty bitset at offset    0x40:  dmsetup suspend cache  KASAN reports:    BUG: KASAN: vmalloc-out-of-bounds in is_dirty_callback+0x2b/0x80   Read of size 8 at addr ffffc90000085040 by task dmsetup/90    (...snip...)   The buggy address belongs to the virtual mapping at    [ffffc90000085000, ffffc90000087000) created by:    cache_ctr+0x176a/0x35f0    (...snip...)   Memory state around the buggy address:    ffffc90000084f00: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc90000084f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8   >ffffc90000085000: 00 00 00 00 00 00 00 00 f8 f8 f8 f8 f8 f8 f8 f8                                              ^    ffffc90000085080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc90000085100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8  Fix by checking the size change on the first resume.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50279",
                                "url": "https://ubuntu.com/security/CVE-2024-50279",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  dm cache: fix out-of-bounds access to the dirty bitset when resizing  dm-cache checks the dirty bits of the cache blocks to be dropped when shrinking the fast device, but an index bug in bitset iteration causes out-of-bounds access.  Reproduce steps:  1. create a cache device of 1024 cache blocks (128 bytes dirty bitset)  dmsetup create cmeta --table \"0 8192 linear /dev/sdc 0\" dmsetup create cdata --table \"0 131072 linear /dev/sdc 8192\" dmsetup create corig --table \"0 524288 linear /dev/sdc 262144\" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct dmsetup create cache --table \"0 524288 cache /dev/mapper/cmeta \\ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0\"  2. shrink the fast device to 512 cache blocks, triggering out-of-bounds    access to the dirty bitset (offset 0x80)  dmsetup suspend cache dmsetup reload cdata --table \"0 65536 linear /dev/sdc 8192\" dmsetup resume cdata dmsetup resume cache  KASAN reports:    BUG: KASAN: vmalloc-out-of-bounds in cache_preresume+0x269/0x7b0   Read of size 8 at addr ffffc900000f3080 by task dmsetup/131    (...snip...)   The buggy address belongs to the virtual mapping at    [ffffc900000f3000, ffffc900000f5000) created by:    cache_ctr+0x176a/0x35f0    (...snip...)   Memory state around the buggy address:    ffffc900000f2f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc900000f3000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >ffffc900000f3080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8                      ^    ffffc900000f3100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc900000f3180: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8  Fix by making the index post-incremented.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50282",
                                "url": "https://ubuntu.com/security/CVE-2024-50282",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: add missing size check in amdgpu_debugfs_gprwave_read()  Avoid a possible buffer overflow if size is larger than 4K.  (cherry picked from commit f5d873f5825b40d886d03bd2aede91d4cf002434)",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50287",
                                "url": "https://ubuntu.com/security/CVE-2024-50287",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: v4l2-tpg: prevent the risk of a division by zero  As reported by Coverity, the logic at tpg_precalculate_line() blindly rescales the buffer even when scaled_witdh is equal to zero. If this ever happens, this will cause a division by zero.  Instead, add a WARN_ON_ONCE() to trigger such cases and return without doing any precalculation.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50290",
                                "url": "https://ubuntu.com/security/CVE-2024-50290",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: cx24116: prevent overflows on SNR calculus  as reported by Coverity, if reading SNR registers fail, a negative number will be returned, causing an underflow when reading SNR registers.  Prevent that.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-53061",
                                "url": "https://ubuntu.com/security/CVE-2024-53061",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: s5p-jpeg: prevent buffer overflows  The current logic allows word to be less than 2. If this happens, there will be buffer overflows, as reported by smatch. Add extra checks to prevent it.  While here, remove an unused word = 0 assignment.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-53063",
                                "url": "https://ubuntu.com/security/CVE-2024-53063",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvbdev: prevent the risk of out of memory access  The dvbdev contains a static variable used to store dvb minors.  The behavior of it depends if CONFIG_DVB_DYNAMIC_MINORS is set or not. When not set, dvb_register_device() won't check for boundaries, as it will rely that a previous call to dvb_register_adapter() would already be enforcing it.  On a similar way, dvb_device_open() uses the assumption that the register functions already did the needed checks.  This can be fragile if some device ends using different calls. This also generate warnings on static check analysers like Coverity.  So, add explicit guards to prevent potential risk of OOM issues.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50296",
                                "url": "https://ubuntu.com/security/CVE-2024-50296",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: fix kernel crash when uninstalling driver  When the driver is uninstalled and the VF is disabled concurrently, a kernel crash occurs. The reason is that the two actions call function pci_disable_sriov(). The num_VFs is checked to determine whether to release the corresponding resources. During the second calling, num_VFs is not 0 and the resource release function is called. However, the corresponding resource has been released during the first invoking. Therefore, the problem occurs:  [15277.839633][T50670] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020 ... [15278.131557][T50670] Call trace: [15278.134686][T50670]  klist_put+0x28/0x12c [15278.138682][T50670]  klist_del+0x14/0x20 [15278.142592][T50670]  device_del+0xbc/0x3c0 [15278.146676][T50670]  pci_remove_bus_device+0x84/0x120 [15278.151714][T50670]  pci_stop_and_remove_bus_device+0x6c/0x80 [15278.157447][T50670]  pci_iov_remove_virtfn+0xb4/0x12c [15278.162485][T50670]  sriov_disable+0x50/0x11c [15278.166829][T50670]  pci_disable_sriov+0x24/0x30 [15278.171433][T50670]  hnae3_unregister_ae_algo_prepare+0x60/0x90 [hnae3] [15278.178039][T50670]  hclge_exit+0x28/0xd0 [hclge] [15278.182730][T50670]  __se_sys_delete_module.isra.0+0x164/0x230 [15278.188550][T50670]  __arm64_sys_delete_module+0x1c/0x30 [15278.193848][T50670]  invoke_syscall+0x50/0x11c [15278.198278][T50670]  el0_svc_common.constprop.0+0x158/0x164 [15278.203837][T50670]  do_el0_svc+0x34/0xcc [15278.207834][T50670]  el0_svc+0x20/0x30  For details, see the following figure.       rmmod hclge              disable VFs ---------------------------------------------------- hclge_exit()            sriov_numvfs_store()   ...                     device_lock()   pci_disable_sriov()     hns3_pci_sriov_configure()                             pci_disable_sriov()                               sriov_disable()     sriov_disable()             if !num_VFs :       if !num_VFs :               return;         return;                 sriov_del_vfs()       sriov_del_vfs()             ...         ...                       klist_put()         klist_put()               ...         ...                     num_VFs = 0;       num_VFs = 0;        device_unlock();  In this patch, when driver is removing, we get the device_lock() to protect num_VFs, just like sriov_numvfs_store().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50299",
                                "url": "https://ubuntu.com/security/CVE-2024-50299",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sctp: properly validate chunk size in sctp_sf_ootb()  A size validation fix similar to that in Commit 50619dbf8db7 (\"sctp: add size validation when walking chunks\") is also required in sctp_sf_ootb() to address a crash reported by syzbot:    BUG: KMSAN: uninit-value in sctp_sf_ootb+0x7f5/0xce0 net/sctp/sm_statefuns.c:3712   sctp_sf_ootb+0x7f5/0xce0 net/sctp/sm_statefuns.c:3712   sctp_do_sm+0x181/0x93d0 net/sctp/sm_sideeffect.c:1166   sctp_endpoint_bh_rcv+0xc38/0xf90 net/sctp/endpointola.c:407   sctp_inq_push+0x2ef/0x380 net/sctp/inqueue.c:88   sctp_rcv+0x3831/0x3b20 net/sctp/input.c:243   sctp4_rcv+0x42/0x50 net/sctp/protocol.c:1159   ip_protocol_deliver_rcu+0xb51/0x13d0 net/ipv4/ip_input.c:205   ip_local_deliver_finish+0x336/0x500 net/ipv4/ip_input.c:233",
                                "cve_priority": "low",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50301",
                                "url": "https://ubuntu.com/security/CVE-2024-50301",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  security/keys: fix slab-out-of-bounds in key_task_permission  KASAN reports an out of bounds read: BUG: KASAN: slab-out-of-bounds in __kuid_val include/linux/uidgid.h:36 BUG: KASAN: slab-out-of-bounds in uid_eq include/linux/uidgid.h:63 [inline] BUG: KASAN: slab-out-of-bounds in key_task_permission+0x394/0x410 security/keys/permission.c:54 Read of size 4 at addr ffff88813c3ab618 by task stress-ng/4362  CPU: 2 PID: 4362 Comm: stress-ng Not tainted 5.10.0-14930-gafbffd6c3ede #15 Call Trace:  __dump_stack lib/dump_stack.c:82 [inline]  dump_stack+0x107/0x167 lib/dump_stack.c:123  print_address_description.constprop.0+0x19/0x170 mm/kasan/report.c:400  __kasan_report.cold+0x6c/0x84 mm/kasan/report.c:560  kasan_report+0x3a/0x50 mm/kasan/report.c:585  __kuid_val include/linux/uidgid.h:36 [inline]  uid_eq include/linux/uidgid.h:63 [inline]  key_task_permission+0x394/0x410 security/keys/permission.c:54  search_nested_keyrings+0x90e/0xe90 security/keys/keyring.c:793  This issue was also reported by syzbot.  It can be reproduced by following these steps(more details [1]): 1. Obtain more than 32 inputs that have similar hashes, which ends with the    pattern '0xxxxxxxe6'. 2. Reboot and add the keys obtained in step 1.  The reproducer demonstrates how this issue happened: 1. In the search_nested_keyrings function, when it iterates through the    slots in a node(below tag ascend_to_node), if the slot pointer is meta    and node->back_pointer != NULL(it means a root), it will proceed to    descend_to_node. However, there is an exception. If node is the root,    and one of the slots points to a shortcut, it will be treated as a    keyring. 2. Whether the ptr is keyring decided by keyring_ptr_is_keyring function.    However, KEYRING_PTR_SUBTYPE is 0x2UL, the same as    ASSOC_ARRAY_PTR_SUBTYPE_MASK. 3. When 32 keys with the similar hashes are added to the tree, the ROOT    has keys with hashes that are not similar (e.g. slot 0) and it splits    NODE A without using a shortcut. When NODE A is filled with keys that    all hashes are xxe6, the keys are similar, NODE A will split with a    shortcut. Finally, it forms the tree as shown below, where slot 6 points    to a shortcut.                        NODE A               +------>+---+       ROOT    |       | 0 | xxe6       +---+   |       +---+  xxxx | 0 | shortcut  :   : xxe6       +---+   |       +---+  xxe6 :   :   |       |   | xxe6       +---+   |       +---+       | 6 |---+       :   : xxe6       +---+           +---+  xxe6 :   :           | f | xxe6       +---+           +---+  xxe6 | f |       +---+  4. As mentioned above, If a slot(slot 6) of the root points to a shortcut,    it may be mistakenly transferred to a key*, leading to a read    out-of-bounds read.  To fix this issue, one should jump to descend_to_node if the ptr is a shortcut, regardless of whether the node is root or not.  [1] https://lore.kernel.org/linux-kernel/1cfa878e-8c7b-4570-8606-21daf5e13ce7@huaweicloud.com/  [jarkko: tweaked the commit message a bit to have an appropriate closes  tag.]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50302",
                                "url": "https://ubuntu.com/security/CVE-2024-50302",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  HID: core: zero-initialize the report buffer  Since the report buffer is used by all kinds of drivers in various ways, let's zero-initialize it during allocation to make sure that it can't be ever used to leak kernel memory via specially-crafted report.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50228",
                                "url": "https://ubuntu.com/security/CVE-2024-50228",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50230",
                                "url": "https://ubuntu.com/security/CVE-2024-50230",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix kernel bug due to missing clearing of checked flag  Syzbot reported that in directory operations after nilfs2 detects filesystem corruption and degrades to read-only, __block_write_begin_int(), which is called to prepare block writes, may fail the BUG_ON check for accesses exceeding the folio/page size, triggering a kernel bug.  This was found to be because the \"checked\" flag of a page/folio was not cleared when it was discarded by nilfs2's own routine, which causes the sanity check of directory entries to be skipped when the directory page/folio is reloaded.  So, fix that.  This was necessary when the use of nilfs2's own page discard routine was applied to more than just metadata files.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50218",
                                "url": "https://ubuntu.com/security/CVE-2024-50218",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow  Syzbot reported a kernel BUG in ocfs2_truncate_inline.  There are two reasons for this: first, the parameter value passed is greater than ocfs2_max_inline_data_with_xattr, second, the start and end parameters of ocfs2_truncate_inline are \"unsigned int\".  So, we need to add a sanity check for byte_start and byte_len right before ocfs2_truncate_inline() in ocfs2_remove_inode_range(), if they are greater than ocfs2_max_inline_data_with_xattr return -EINVAL.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50229",
                                "url": "https://ubuntu.com/security/CVE-2024-50229",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential deadlock with newly created symlinks  Syzbot reported that page_symlink(), called by nilfs_symlink(), triggers memory reclamation involving the filesystem layer, which can result in circular lock dependencies among the reader/writer semaphore nilfs->ns_segctor_sem, s_writers percpu_rwsem (intwrite) and the fs_reclaim pseudo lock.  This is because after commit 21fc61c73c39 (\"don't put symlink bodies in pagecache into highmem\"), the gfp flags of the page cache for symbolic links are overwritten to GFP_KERNEL via inode_nohighmem().  This is not a problem for symlinks read from the backing device, because the __GFP_FS flag is dropped after inode_nohighmem() is called.  However, when a new symlink is created with nilfs_symlink(), the gfp flags remain overwritten to GFP_KERNEL.  Then, memory allocation called from page_symlink() etc.  triggers memory reclamation including the FS layer, which may call nilfs_evict_inode() or nilfs_dirty_inode().  And these can cause a deadlock if they are called while nilfs->ns_segctor_sem is held:  Fix this issue by dropping the __GFP_FS flag from the page cache GFP flags of newly created symlinks in the same way that nilfs_new_inode() and __nilfs_read_inode() do, as a workaround until we adopt nofs allocation scope consistently or improve the locking constraints.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50233",
                                "url": "https://ubuntu.com/security/CVE-2024-50233",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  staging: iio: frequency: ad9832: fix division by zero in ad9832_calc_freqreg()  In the ad9832_write_frequency() function, clk_get_rate() might return 0. This can lead to a division by zero when calling ad9832_calc_freqreg(). The check if (fout > (clk_get_rate(st->mclk) / 2)) does not protect against the case when fout is 0. The ad9832_write_frequency() function is called from ad9832_write(), and fout is derived from a text buffer, which can contain any value.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50234",
                                "url": "https://ubuntu.com/security/CVE-2024-50234",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlegacy: Clear stale interrupts before resuming device  iwl4965 fails upon resume from hibernation on my laptop. The reason seems to be a stale interrupt which isn't being cleared out before interrupts are enabled. We end up with a race beween the resume trying to bring things back up, and the restart work (queued form the interrupt handler) trying to bring things down. Eventually the whole thing blows up.  Fix the problem by clearing out any stale interrupts before interrupts get enabled during resume.  Here's a debug log of the indicent: [   12.042589] ieee80211 phy0: il_isr ISR inta 0x00000080, enabled 0xaa00008b, fh 0x00000000 [   12.042625] ieee80211 phy0: il4965_irq_tasklet inta 0x00000080, enabled 0x00000000, fh 0x00000000 [   12.042651] iwl4965 0000:10:00.0: RF_KILL bit toggled to enable radio. [   12.042653] iwl4965 0000:10:00.0: On demand firmware reload [   12.042690] ieee80211 phy0: il4965_irq_tasklet End inta 0x00000000, enabled 0xaa00008b, fh 0x00000000, flags 0x00000282 [   12.052207] ieee80211 phy0: il4965_mac_start enter [   12.052212] ieee80211 phy0: il_prep_station Add STA to driver ID 31: ff:ff:ff:ff:ff:ff [   12.052244] ieee80211 phy0: il4965_set_hw_ready hardware  ready [   12.052324] ieee80211 phy0: il_apm_init Init card's basic functions [   12.052348] ieee80211 phy0: il_apm_init L1 Enabled; Disabling L0S [   12.055727] ieee80211 phy0: il4965_load_bsm Begin load bsm [   12.056140] ieee80211 phy0: il4965_verify_bsm Begin verify bsm [   12.058642] ieee80211 phy0: il4965_verify_bsm BSM bootstrap uCode image OK [   12.058721] ieee80211 phy0: il4965_load_bsm BSM write complete, poll 1 iterations [   12.058734] ieee80211 phy0: __il4965_up iwl4965 is coming up [   12.058737] ieee80211 phy0: il4965_mac_start Start UP work done. [   12.058757] ieee80211 phy0: __il4965_down iwl4965 is going down [   12.058761] ieee80211 phy0: il_scan_cancel_timeout Scan cancel timeout [   12.058762] ieee80211 phy0: il_do_scan_abort Not performing scan to abort [   12.058765] ieee80211 phy0: il_clear_ucode_stations Clearing ucode stations in driver [   12.058767] ieee80211 phy0: il_clear_ucode_stations No active stations found to be cleared [   12.058819] ieee80211 phy0: _il_apm_stop Stop card, put in low power state [   12.058827] ieee80211 phy0: _il_apm_stop_master stop master [   12.058864] ieee80211 phy0: il4965_clear_free_frames 0 frames on pre-allocated heap on clear. [   12.058869] ieee80211 phy0: Hardware restart was requested [   16.132299] iwl4965 0000:10:00.0: START_ALIVE timeout after 4000ms. [   16.132303] ------------[ cut here ]------------ [   16.132304] Hardware became unavailable upon resume. This could be a software issue prior to suspend or a hardware issue. [   16.132338] WARNING: CPU: 0 PID: 181 at net/mac80211/util.c:1826 ieee80211_reconfig+0x8f/0x14b0 [mac80211] [   16.132390] Modules linked in: ctr ccm sch_fq_codel xt_tcpudp xt_multiport xt_state iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv4 ip_tables x_tables binfmt_misc joydev mousedev btusb btrtl btintel btbcm bluetooth ecdh_generic ecc iTCO_wdt i2c_dev iwl4965 iwlegacy coretemp snd_hda_codec_analog pcspkr psmouse mac80211 snd_hda_codec_generic libarc4 sdhci_pci cqhci sha256_generic sdhci libsha256 firewire_ohci snd_hda_intel snd_intel_dspcfg mmc_core snd_hda_codec snd_hwdep firewire_core led_class iosf_mbi snd_hda_core uhci_hcd lpc_ich crc_itu_t cfg80211 ehci_pci ehci_hcd snd_pcm usbcore mfd_core rfkill snd_timer snd usb_common soundcore video parport_pc parport intel_agp wmi intel_gtt backlight e1000e agpgart evdev [   16.132456] CPU: 0 UID: 0 PID: 181 Comm: kworker/u8:6 Not tainted 6.11.0-cl+ #143 [   16.132460] Hardware name: Hewlett-Packard HP Compaq 6910p/30BE, BIOS 68MCU Ver. F.19 07/06/2010 [   16.132463] Workqueue: async async_run_entry_fn [   16.132469] RIP: 0010:ieee80211_reconfig+0x8f/0x14b0 [mac80211] [   16.132501] Code: da 02 00 0 ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50236",
                                "url": "https://ubuntu.com/security/CVE-2024-50236",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: ath10k: Fix memory leak in management tx  In the current logic, memory is allocated for storing the MSDU context during management packet TX but this memory is not being freed during management TX completion. Similar leaks are seen in the management TX cleanup logic.  Kmemleak reports this problem as below,  unreferenced object 0xffffff80b64ed250 (size 16):   comm \"kworker/u16:7\", pid 148, jiffies 4294687130 (age 714.199s)   hex dump (first 16 bytes):     00 2b d8 d8 80 ff ff ff c4 74 e9 fd 07 00 00 00  .+.......t......   backtrace:     [<ffffffe6e7b245dc>] __kmem_cache_alloc_node+0x1e4/0x2d8     [<ffffffe6e7adde88>] kmalloc_trace+0x48/0x110     [<ffffffe6bbd765fc>] ath10k_wmi_tlv_op_gen_mgmt_tx_send+0xd4/0x1d8 [ath10k_core]     [<ffffffe6bbd3eed4>] ath10k_mgmt_over_wmi_tx_work+0x134/0x298 [ath10k_core]     [<ffffffe6e78d5974>] process_scheduled_works+0x1ac/0x400     [<ffffffe6e78d60b8>] worker_thread+0x208/0x328     [<ffffffe6e78dc890>] kthread+0x100/0x1c0     [<ffffffe6e78166c0>] ret_from_fork+0x10/0x20  Free the memory during completion and cleanup to fix the leak.  Protect the mgmt_pending_tx idr_remove() operation in ath10k_wmi_tlv_op_cleanup_mgmt_tx_send() using ar->data_lock similar to other instances.  Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.2.0-01387-QCAHLSWMTPLZ-1",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50237",
                                "url": "https://ubuntu.com/security/CVE-2024-50237",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower  Avoid potentially crashing in the driver because of uninitialized private data",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50251",
                                "url": "https://ubuntu.com/security/CVE-2024-50251",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nft_payload: sanitize offset and length before calling skb_checksum()  If access to offset + length is larger than the skbuff length, then skb_checksum() triggers BUG_ON().  skb_checksum() internally subtracts the length parameter while iterating over skbuff, BUG_ON(len) at the end of it checks that the expected length to be included in the checksum calculation is fully consumed.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50262",
                                "url": "https://ubuntu.com/security/CVE-2024-50262",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Fix out-of-bounds write in trie_get_next_key()  trie_get_next_key() allocates a node stack with size trie->max_prefixlen, while it writes (trie->max_prefixlen + 1) nodes to the stack when it has full paths from the root to leaves. For example, consider a trie with max_prefixlen is 8, and the nodes with key 0x00/0, 0x00/1, 0x00/2, ... 0x00/8 inserted. Subsequent calls to trie_get_next_key with _key with .prefixlen = 8 make 9 nodes be written on the node stack with size 8.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-53059",
                                "url": "https://ubuntu.com/security/CVE-2024-53059",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlwifi: mvm: Fix response handling in iwl_mvm_send_recovery_cmd()  1. The size of the response packet is not validated. 2. The response buffer is not freed.  Resolve these issues by switching to iwl_mvm_send_cmd_status(), which handles both size validation and frees the buffer.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50142",
                                "url": "https://ubuntu.com/security/CVE-2024-50142",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfrm: validate new SA's prefixlen using SA family when sel.family is unset  This expands the validation introduced in commit 07bf7908950a (\"xfrm: Validate address prefix lengths in the xfrm selector.\")  syzbot created an SA with     usersa.sel.family = AF_UNSPEC     usersa.sel.prefixlen_s = 128     usersa.family = AF_INET  Because of the AF_UNSPEC selector, verify_newsa_info doesn't put limits on prefixlen_{s,d}. But then copy_from_user_state sets x->sel.family to usersa.family (AF_INET). Do the same conversion in verify_newsa_info before validating prefixlen_{s,d}, since that's how prefixlen is going to be used later on.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50116",
                                "url": "https://ubuntu.com/security/CVE-2024-50116",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix kernel bug due to missing clearing of buffer delay flag  Syzbot reported that after nilfs2 reads a corrupted file system image and degrades to read-only, the BUG_ON check for the buffer delay flag in submit_bh_wbc() may fail, causing a kernel bug.  This is because the buffer delay flag is not cleared when clearing the buffer state flags to discard a page/folio or a buffer head. So, fix this.  This became necessary when the use of nilfs2's own page clear routine was expanded.  This state inconsistency does not occur if the buffer is written normally by log writing.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50117",
                                "url": "https://ubuntu.com/security/CVE-2024-50117",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd: Guard against bad data for ATIF ACPI method  If a BIOS provides bad data in response to an ATIF method call this causes a NULL pointer dereference in the caller.  ``` ? show_regs (arch/x86/kernel/dumpstack.c:478 (discriminator 1)) ? __die (arch/x86/kernel/dumpstack.c:423 arch/x86/kernel/dumpstack.c:434) ? page_fault_oops (arch/x86/mm/fault.c:544 (discriminator 2) arch/x86/mm/fault.c:705 (discriminator 2)) ? do_user_addr_fault (arch/x86/mm/fault.c:440 (discriminator 1) arch/x86/mm/fault.c:1232 (discriminator 1)) ? acpi_ut_update_object_reference (drivers/acpi/acpica/utdelete.c:642) ? exc_page_fault (arch/x86/mm/fault.c:1542) ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) ? amdgpu_atif_query_backlight_caps.constprop.0 (drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:387 (discriminator 2)) amdgpu ? amdgpu_atif_query_backlight_caps.constprop.0 (drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:386 (discriminator 1)) amdgpu ```  It has been encountered on at least one system, so guard for it.  (cherry picked from commit c9b7c809b89f24e9372a4e7f02d64c950b07fdee)",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50205",
                                "url": "https://ubuntu.com/security/CVE-2024-50205",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: firewire-lib: Avoid division by zero in apply_constraint_to_size()  The step variable is initialized to zero. It is changed in the loop, but if it's not changed it will remain zero. Add a variable check before the division.  The observed behavior was introduced by commit 826b5de90c0b (\"ALSA: firewire-lib: fix insufficient PCM rule for period/buffer size\"), and it is difficult to show that any of the interval parameters will satisfy the snd_interval_test() condition with data from the amdtp_rate_table[] table.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50127",
                                "url": "https://ubuntu.com/security/CVE-2024-50127",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: sched: fix use-after-free in taprio_change()  In 'taprio_change()', 'admin' pointer may become dangling due to sched switch / removal caused by 'advance_sched()', and critical section protected by 'q->current_entry_lock' is too small to prevent from such a scenario (which causes use-after-free detected by KASAN). Fix this by prefer 'rcu_replace_pointer()' over 'rcu_assign_pointer()' to update 'admin' immediately before an attempt to schedule freeing.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50167",
                                "url": "https://ubuntu.com/security/CVE-2024-50167",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  be2net: fix potential memory leak in be_xmit()  The be_xmit() returns NETDEV_TX_OK without freeing skb in case of be_xmit_enqueue() fails, add dev_kfree_skb_any() to fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50168",
                                "url": "https://ubuntu.com/security/CVE-2024-50168",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sun3_82586: fix potential memory leak in sun3_82586_send_packet()  The sun3_82586_send_packet() returns NETDEV_TX_OK without freeing skb in case of skb->len being too long, add dev_kfree_skb() to fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50131",
                                "url": "https://ubuntu.com/security/CVE-2024-50131",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Consider the NULL character when validating the event length  strlen() returns a string length excluding the null byte. If the string length equals to the maximum buffer length, the buffer will have no space for the NULL terminating character.  This commit checks this condition and returns failure for it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50143",
                                "url": "https://ubuntu.com/security/CVE-2024-50143",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  udf: fix uninit-value use in udf_get_fileshortad  Check for overflow when computing alen in udf_current_aext to mitigate later uninit-value use in udf_get_fileshortad KMSAN bug[1]. After applying the patch reproducer did not trigger any issue[2].  [1] https://syzkaller.appspot.com/bug?extid=8901c4560b7ab5c2f9df [2] https://syzkaller.appspot.com/x/log.txt?x=10242227980000",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50134",
                                "url": "https://ubuntu.com/security/CVE-2024-50134",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/vboxvideo: Replace fake VLA at end of vbva_mouse_pointer_shape with real VLA  Replace the fake VLA at end of the vbva_mouse_pointer_shape shape with a real VLA to fix a \"memcpy: detected field-spanning write error\" warning:  [   13.319813] memcpy: detected field-spanning write (size 16896) of single field \"p->data\" at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 (size 4) [   13.319841] WARNING: CPU: 0 PID: 1105 at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 hgsmi_update_pointer_shape+0x192/0x1c0 [vboxvideo] [   13.320038] Call Trace: [   13.320173]  hgsmi_update_pointer_shape [vboxvideo] [   13.320184]  vbox_cursor_atomic_update [vboxvideo]  Note as mentioned in the added comment it seems the original length calculation for the allocated and send hgsmi buffer is 4 bytes too large. Changing this is not the goal of this patch, so this behavior is kept.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50194",
                                "url": "https://ubuntu.com/security/CVE-2024-50194",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: probes: Fix uprobes for big-endian kernels  The arm64 uprobes code is broken for big-endian kernels as it doesn't convert the in-memory instruction encoding (which is always little-endian) into the kernel's native endianness before analyzing and simulating instructions. This may result in a few distinct problems:  * The kernel may may erroneously reject probing an instruction which can   safely be probed.  * The kernel may erroneously erroneously permit stepping an   instruction out-of-line when that instruction cannot be stepped   out-of-line safely.  * The kernel may erroneously simulate instruction incorrectly dur to   interpretting the byte-swapped encoding.  The endianness mismatch isn't caught by the compiler or sparse because:  * The arch_uprobe::{insn,ixol} fields are encoded as arrays of u8, so   the compiler and sparse have no idea these contain a little-endian   32-bit value. The core uprobes code populates these with a memcpy()   which similarly does not handle endianness.  * While the uprobe_opcode_t type is an alias for __le32, both   arch_uprobe_analyze_insn() and arch_uprobe_skip_sstep() cast from u8[]   to the similarly-named probe_opcode_t, which is an alias for u32.   Hence there is no endianness conversion warning.  Fix this by changing the arch_uprobe::{insn,ixol} fields to __le32 and adding the appropriate __le32_to_cpu() conversions prior to consuming the instruction encoding. The core uprobes copies these fields as opaque ranges of bytes, and so is unaffected by this change.  At the same time, remove MAX_UINSN_BYTES and consistently use AARCH64_INSN_SIZE for clarity.  Tested with the following:  | #include <stdio.h> | #include <stdbool.h> | | #define noinline __attribute__((noinline)) | | static noinline void *adrp_self(void) | { |         void *addr; | |         asm volatile( |         \"       adrp    %x0, adrp_self\\n\" |         \"       add     %x0, %x0, :lo12:adrp_self\\n\" |         : \"=r\" (addr)); | } | | | int main(int argc, char *argv) | { |         void *ptr = adrp_self(); |         bool equal = (ptr == adrp_self); | |         printf(\"adrp_self   => %p\\n\" |                \"adrp_self() => %p\\n\" |                \"%s\\n\", |                adrp_self, ptr, equal ? \"EQUAL\" : \"NOT EQUAL\"); | |         return 0; | }  .... where the adrp_self() function was compiled to:  | 00000000004007e0 <adrp_self>: |   4007e0:       90000000        adrp    x0, 400000 <__ehdr_start> |   4007e4:       911f8000        add     x0, x0, #0x7e0 |   4007e8:       d65f03c0        ret  Before this patch, the ADRP is not recognized, and is assumed to be steppable, resulting in corruption of the result:  | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL | # echo 'p /root/adrp-self:0x007e0' > /sys/kernel/tracing/uprobe_events | # echo 1 > /sys/kernel/tracing/events/uprobes/enable | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0xffffffffff7e0 | NOT EQUAL  After this patch, the ADRP is correctly recognized and simulated:  | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL | # | # echo 'p /root/adrp-self:0x007e0' > /sys/kernel/tracing/uprobe_events | # echo 1 > /sys/kernel/tracing/events/uprobes/enable | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50148",
                                "url": "https://ubuntu.com/security/CVE-2024-50148",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: bnep: fix wild-memory-access in proto_unregister  There's issue as follows:   KASAN: maybe wild-memory-access in range [0xdead...108-0xdead...10f]   CPU: 3 UID: 0 PID: 2805 Comm: rmmod Tainted: G        W   RIP: 0010:proto_unregister+0xee/0x400   Call Trace:    <TASK>    __do_sys_delete_module+0x318/0x580    do_syscall_64+0xc1/0x1d0    entry_SYSCALL_64_after_hwframe+0x77/0x7f  As bnep_init() ignore bnep_sock_init()'s return value, and bnep_sock_init() will cleanup all resource. Then when remove bnep module will call bnep_sock_cleanup() to cleanup sock's resource. To solve above issue just return bnep_sock_init()'s return value in bnep_exit().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50150",
                                "url": "https://ubuntu.com/security/CVE-2024-50150",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: altmode should keep reference to parent  The altmode device release refers to its parent device, but without keeping a reference to it.  When registering the altmode, get a reference to the parent and put it in the release function.  Before this fix, when using CONFIG_DEBUG_KOBJECT_RELEASE, we see issues like this:  [   43.572860] kobject: 'port0.0' (ffff8880057ba008): kobject_release, parent 0000000000000000 (delayed 3000) [   43.573532] kobject: 'port0.1' (ffff8880057bd008): kobject_release, parent 0000000000000000 (delayed 1000) [   43.574407] kobject: 'port0' (ffff8880057b9008): kobject_release, parent 0000000000000000 (delayed 3000) [   43.575059] kobject: 'port1.0' (ffff8880057ca008): kobject_release, parent 0000000000000000 (delayed 4000) [   43.575908] kobject: 'port1.1' (ffff8880057c9008): kobject_release, parent 0000000000000000 (delayed 4000) [   43.576908] kobject: 'typec' (ffff8880062dbc00): kobject_release, parent 0000000000000000 (delayed 4000) [   43.577769] kobject: 'port1' (ffff8880057bf008): kobject_release, parent 0000000000000000 (delayed 3000) [   46.612867] ================================================================== [   46.613402] BUG: KASAN: slab-use-after-free in typec_altmode_release+0x38/0x129 [   46.614003] Read of size 8 at addr ffff8880057b9118 by task kworker/2:1/48 [   46.614538] [   46.614668] CPU: 2 UID: 0 PID: 48 Comm: kworker/2:1 Not tainted 6.12.0-rc1-00138-gedbae730ad31 #535 [   46.615391] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014 [   46.616042] Workqueue: events kobject_delayed_cleanup [   46.616446] Call Trace: [   46.616648]  <TASK> [   46.616820]  dump_stack_lvl+0x5b/0x7c [   46.617112]  ? typec_altmode_release+0x38/0x129 [   46.617470]  print_report+0x14c/0x49e [   46.617769]  ? rcu_read_unlock_sched+0x56/0x69 [   46.618117]  ? __virt_addr_valid+0x19a/0x1ab [   46.618456]  ? kmem_cache_debug_flags+0xc/0x1d [   46.618807]  ? typec_altmode_release+0x38/0x129 [   46.619161]  kasan_report+0x8d/0xb4 [   46.619447]  ? typec_altmode_release+0x38/0x129 [   46.619809]  ? process_scheduled_works+0x3cb/0x85f [   46.620185]  typec_altmode_release+0x38/0x129 [   46.620537]  ? process_scheduled_works+0x3cb/0x85f [   46.620907]  device_release+0xaf/0xf2 [   46.621206]  kobject_delayed_cleanup+0x13b/0x17a [   46.621584]  process_scheduled_works+0x4f6/0x85f [   46.621955]  ? __pfx_process_scheduled_works+0x10/0x10 [   46.622353]  ? hlock_class+0x31/0x9a [   46.622647]  ? lock_acquired+0x361/0x3c3 [   46.622956]  ? move_linked_works+0x46/0x7d [   46.623277]  worker_thread+0x1ce/0x291 [   46.623582]  ? __kthread_parkme+0xc8/0xdf [   46.623900]  ? __pfx_worker_thread+0x10/0x10 [   46.624236]  kthread+0x17e/0x190 [   46.624501]  ? kthread+0xfb/0x190 [   46.624756]  ? __pfx_kthread+0x10/0x10 [   46.625015]  ret_from_fork+0x20/0x40 [   46.625268]  ? __pfx_kthread+0x10/0x10 [   46.625532]  ret_from_fork_asm+0x1a/0x30 [   46.625805]  </TASK> [   46.625953] [   46.626056] Allocated by task 678: [   46.626287]  kasan_save_stack+0x24/0x44 [   46.626555]  kasan_save_track+0x14/0x2d [   46.626811]  __kasan_kmalloc+0x3f/0x4d [   46.627049]  __kmalloc_noprof+0x1bf/0x1f0 [   46.627362]  typec_register_port+0x23/0x491 [   46.627698]  cros_typec_probe+0x634/0xbb6 [   46.628026]  platform_probe+0x47/0x8c [   46.628311]  really_probe+0x20a/0x47d [   46.628605]  device_driver_attach+0x39/0x72 [   46.628940]  bind_store+0x87/0xd7 [   46.629213]  kernfs_fop_write_iter+0x1aa/0x218 [   46.629574]  vfs_write+0x1d6/0x29b [   46.629856]  ksys_write+0xcd/0x13b [   46.630128]  do_syscall_64+0xd4/0x139 [   46.630420]  entry_SYSCALL_64_after_hwframe+0x76/0x7e [   46.630820] [   46.630946] Freed by task 48: [   46.631182]  kasan_save_stack+0x24/0x44 [   46.631493]  kasan_save_track+0x14/0x2d [   46.631799]  kasan_save_free_info+0x3f/0x4d [   46.632144]  __kasan_slab_free+0x37/0x45 [   46.632474] ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50151",
                                "url": "https://ubuntu.com/security/CVE-2024-50151",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smb: client: fix OOBs when building SMB2_IOCTL request  When using encryption, either enforced by the server or when using 'seal' mount option, the client will squash all compound request buffers down for encryption into a single iov in smb2_set_next_command().  SMB2_ioctl_init() allocates a small buffer (448 bytes) to hold the SMB2_IOCTL request in the first iov, and if the user passes an input buffer that is greater than 328 bytes, smb2_set_next_command() will end up writing off the end of @rqst->iov[0].iov_base as shown below:    mount.cifs //srv/share /mnt -o ...,seal   ln -s $(perl -e \"print('a')for 1..1024\") /mnt/link    BUG: KASAN: slab-out-of-bounds in   smb2_set_next_command.cold+0x1d6/0x24c [cifs]   Write of size 4116 at addr ffff8881148fcab8 by task ln/859    CPU: 1 UID: 0 PID: 859 Comm: ln Not tainted 6.12.0-rc3 #1   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS   1.16.3-2.fc40 04/01/2014   Call Trace:    <TASK>    dump_stack_lvl+0x5d/0x80    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    print_report+0x156/0x4d9    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    ? __virt_addr_valid+0x145/0x310    ? __phys_addr+0x46/0x90    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    kasan_report+0xda/0x110    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    kasan_check_range+0x10f/0x1f0    __asan_memcpy+0x3c/0x60    smb2_set_next_command.cold+0x1d6/0x24c [cifs]    smb2_compound_op+0x238c/0x3840 [cifs]    ? kasan_save_track+0x14/0x30    ? kasan_save_free_info+0x3b/0x70    ? vfs_symlink+0x1a1/0x2c0    ? do_symlinkat+0x108/0x1c0    ? __pfx_smb2_compound_op+0x10/0x10 [cifs]    ? kmem_cache_free+0x118/0x3e0    ? cifs_get_writable_path+0xeb/0x1a0 [cifs]    smb2_get_reparse_inode+0x423/0x540 [cifs]    ? __pfx_smb2_get_reparse_inode+0x10/0x10 [cifs]    ? rcu_is_watching+0x20/0x50    ? __kmalloc_noprof+0x37c/0x480    ? smb2_create_reparse_symlink+0x257/0x490 [cifs]    ? smb2_create_reparse_symlink+0x38f/0x490 [cifs]    smb2_create_reparse_symlink+0x38f/0x490 [cifs]    ? __pfx_smb2_create_reparse_symlink+0x10/0x10 [cifs]    ? find_held_lock+0x8a/0xa0    ? hlock_class+0x32/0xb0    ? __build_path_from_dentry_optional_prefix+0x19d/0x2e0 [cifs]    cifs_symlink+0x24f/0x960 [cifs]    ? __pfx_make_vfsuid+0x10/0x10    ? __pfx_cifs_symlink+0x10/0x10 [cifs]    ? make_vfsgid+0x6b/0xc0    ? generic_permission+0x96/0x2d0    vfs_symlink+0x1a1/0x2c0    do_symlinkat+0x108/0x1c0    ? __pfx_do_symlinkat+0x10/0x10    ? strncpy_from_user+0xaa/0x160    __x64_sys_symlinkat+0xb9/0xf0    do_syscall_64+0xbb/0x1d0    entry_SYSCALL_64_after_hwframe+0x77/0x7f   RIP: 0033:0x7f08d75c13bb",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50171",
                                "url": "https://ubuntu.com/security/CVE-2024-50171",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: systemport: fix potential memory leak in bcm_sysport_xmit()  The bcm_sysport_xmit() returns NETDEV_TX_OK without freeing skb in case of dma_map_single() fails, add dev_kfree_skb() to fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50202",
                                "url": "https://ubuntu.com/security/CVE-2024-50202",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: propagate directory read errors from nilfs_find_entry()  Syzbot reported that a task hang occurs in vcs_open() during a fuzzing test for nilfs2.  The root cause of this problem is that in nilfs_find_entry(), which searches for directory entries, ignores errors when loading a directory page/folio via nilfs_get_folio() fails.  If the filesystem images is corrupted, and the i_size of the directory inode is large, and the directory page/folio is successfully read but fails the sanity check, for example when it is zero-filled, nilfs_check_folio() may continue to spit out error messages in bursts.  Fix this issue by propagating the error to the callers when loading a page/folio fails in nilfs_find_entry().  The current interface of nilfs_find_entry() and its callers is outdated and cannot propagate error codes such as -EIO and -ENOMEM returned via nilfs_find_entry(), so fix it together.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50074",
                                "url": "https://ubuntu.com/security/CVE-2024-50074",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parport: Proper fix for array out-of-bounds access  The recent fix for array out-of-bounds accesses replaced sprintf() calls blindly with snprintf().  However, since snprintf() returns the would-be-printed size, not the actually output size, the length calculation can still go over the given limit.  Use scnprintf() instead of snprintf(), which returns the actually output letters, for addressing the potential out-of-bounds access properly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-29 01:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50082",
                                "url": "https://ubuntu.com/security/CVE-2024-50082",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  blk-rq-qos: fix crash on rq_qos_wait vs. rq_qos_wake_function race  We're seeing crashes from rq_qos_wake_function that look like this:    BUG: unable to handle page fault for address: ffffafe180a40084   #PF: supervisor write access in kernel mode   #PF: error_code(0x0002) - not-present page   PGD 100000067 P4D 100000067 PUD 10027c067 PMD 10115d067 PTE 0   Oops: Oops: 0002 [#1] PREEMPT SMP PTI   CPU: 17 UID: 0 PID: 0 Comm: swapper/17 Not tainted 6.12.0-rc3-00013-geca631b8fe80 #11   Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014   RIP: 0010:_raw_spin_lock_irqsave+0x1d/0x40   Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 41 54 9c 41 5c fa 65 ff 05 62 97 30 4c 31 c0 ba 01 00 00 00 <f0> 0f b1 17 75 0a 4c 89 e0 41 5c c3 cc cc cc cc 89 c6 e8 2c 0b 00   RSP: 0018:ffffafe180580ca0 EFLAGS: 00010046   RAX: 0000000000000000 RBX: ffffafe180a3f7a8 RCX: 0000000000000011   RDX: 0000000000000001 RSI: 0000000000000003 RDI: ffffafe180a40084   RBP: 0000000000000000 R08: 00000000001e7240 R09: 0000000000000011   R10: 0000000000000028 R11: 0000000000000888 R12: 0000000000000002   R13: ffffafe180a40084 R14: 0000000000000000 R15: 0000000000000003   FS:  0000000000000000(0000) GS:ffff9aaf1f280000(0000) knlGS:0000000000000000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: ffffafe180a40084 CR3: 000000010e428002 CR4: 0000000000770ef0   DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000   DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400   PKRU: 55555554   Call Trace:    <IRQ>    try_to_wake_up+0x5a/0x6a0    rq_qos_wake_function+0x71/0x80    __wake_up_common+0x75/0xa0    __wake_up+0x36/0x60    scale_up.part.0+0x50/0x110    wb_timer_fn+0x227/0x450    ...  So rq_qos_wake_function() calls wake_up_process(data->task), which calls try_to_wake_up(), which faults in raw_spin_lock_irqsave(&p->pi_lock).  p comes from data->task, and data comes from the waitqueue entry, which is stored on the waiter's stack in rq_qos_wait(). Analyzing the core dump with drgn, I found that the waiter had already woken up and moved on to a completely unrelated code path, clobbering what was previously data->task. Meanwhile, the waker was passing the clobbered garbage in data->task to wake_up_process(), leading to the crash.  What's happening is that in between rq_qos_wake_function() deleting the waitqueue entry and calling wake_up_process(), rq_qos_wait() is finding that it already got a token and returning. The race looks like this:  rq_qos_wait()                           rq_qos_wake_function() ============================================================== prepare_to_wait_exclusive()                                         data->got_token = true;                                         list_del_init(&curr->entry); if (data.got_token)         break; finish_wait(&rqw->wait, &data.wq);   ^- returns immediately because      list_empty_careful(&wq_entry->entry)      is true ... return, go do something else ...                                         wake_up_process(data->task)                                           (NO LONGER VALID!)-^  Normally, finish_wait() is supposed to synchronize against the waker. But, as noted above, it is returning immediately because the waitqueue entry has already been removed from the waitqueue.  The bug is that rq_qos_wake_function() is accessing the waitqueue entry AFTER deleting it. Note that autoremove_wake_function() wakes the waiter and THEN deletes the waitqueue entry, which is the proper order.  Fix it by swapping the order. We also need to use list_del_init_careful() to match the list_empty_careful() in finish_wait().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-29 01:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-40953",
                                "url": "https://ubuntu.com/security/CVE-2024-40953",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()  Use {READ,WRITE}_ONCE() to access kvm->last_boosted_vcpu to ensure the loads and stores are atomic.  In the extremely unlikely scenario the compiler tears the stores, it's theoretically possible for KVM to attempt to get a vCPU using an out-of-bounds index, e.g. if the write is split into multiple 8-bit stores, and is paired with a 32-bit load on a VM with 257 vCPUs:    CPU0                              CPU1   last_boosted_vcpu = 0xff;                                      (last_boosted_vcpu = 0x100)                                     last_boosted_vcpu[15:8] = 0x01;   i = (last_boosted_vcpu = 0x1ff)                                     last_boosted_vcpu[7:0] = 0x00;    vcpu = kvm->vcpu_array[0x1ff];  As detected by KCSAN:    BUG: KCSAN: data-race in kvm_vcpu_on_spin [kvm] / kvm_vcpu_on_spin [kvm]    write to 0xffffc90025a92344 of 4 bytes by task 4340 on cpu 16:   kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4112) kvm   handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel   vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? \t\t arch/x86/kvm/vmx/vmx.c:6606) kvm_intel   vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm   kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm   kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm   __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)   __x64_sys_ioctl (fs/ioctl.c:890)   x64_sys_call (arch/x86/entry/syscall_64.c:33)   do_syscall_64 (arch/x86/entry/common.c:?)   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)    read to 0xffffc90025a92344 of 4 bytes by task 4342 on cpu 4:   kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4069) kvm   handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel   vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? \t\t\tarch/x86/kvm/vmx/vmx.c:6606) kvm_intel   vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm   kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm   kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm   __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)   __x64_sys_ioctl (fs/ioctl.c:890)   x64_sys_call (arch/x86/entry/syscall_64.c:33)   do_syscall_64 (arch/x86/entry/common.c:?)   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)    value changed: 0x00000012 -> 0x00000000",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-12 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50199",
                                "url": "https://ubuntu.com/security/CVE-2024-50199",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mm/swapfile: skip HugeTLB pages for unuse_vma  I got a bad pud error and lost a 1GB HugeTLB when calling swapoff.  The problem can be reproduced by the following steps:   1. Allocate an anonymous 1GB HugeTLB and some other anonymous memory.  2. Swapout the above anonymous memory.  3. run swapoff and we will get a bad pud error in kernel message:    mm/pgtable-generic.c:42: bad pud 00000000743d215d(84000001400000e7)  We can tell that pud_clear_bad is called by pud_none_or_clear_bad in unuse_pud_range() by ftrace.  And therefore the HugeTLB pages will never be freed because we lost it from page table.  We can skip HugeTLB pages for unuse_vma to fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50099",
                                "url": "https://ubuntu.com/security/CVE-2024-50099",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: probes: Remove broken LDR (literal) uprobe support  The simulate_ldr_literal() and simulate_ldrsw_literal() functions are unsafe to use for uprobes. Both functions were originally written for use with kprobes, and access memory with plain C accesses. When uprobes was added, these were reused unmodified even though they cannot safely access user memory.  There are three key problems:  1) The plain C accesses do not have corresponding extable entries, and    thus if they encounter a fault the kernel will treat these as    unintentional accesses to user memory, resulting in a BUG() which    will kill the kernel thread, and likely lead to further issues (e.g.    lockup or panic()).  2) The plain C accesses are subject to HW PAN and SW PAN, and so when    either is in use, any attempt to simulate an access to user memory    will fault. Thus neither simulate_ldr_literal() nor    simulate_ldrsw_literal() can do anything useful when simulating a    user instruction on any system with HW PAN or SW PAN.  3) The plain C accesses are privileged, as they run in kernel context,    and in practice can access a small range of kernel virtual addresses.    The instructions they simulate have a range of +/-1MiB, and since the    simulated instructions must itself be a user instructions in the    TTBR0 address range, these can address the final 1MiB of the TTBR1    acddress range by wrapping downwards from an address in the first    1MiB of the TTBR0 address range.     In contemporary kernels the last 8MiB of TTBR1 address range is    reserved, and accesses to this will always fault, meaning this is no    worse than (1).     Historically, it was theoretically possible for the linear map or    vmemmap to spill into the final 8MiB of the TTBR1 address range, but    in practice this is extremely unlikely to occur as this would    require either:     * Having enough physical memory to fill the entire linear map all the      way to the final 1MiB of the TTBR1 address range.     * Getting unlucky with KASLR randomization of the linear map such      that the populated region happens to overlap with the last 1MiB of      the TTBR address range.     ... and in either case if we were to spill into the final page there    would be larger problems as the final page would alias with error    pointers.  Practically speaking, (1) and (2) are the big issues. Given there have been no reports of problems since the broken code was introduced, it appears that no-one is relying on probing these instructions with uprobes.  Avoid these issues by not allowing uprobes on LDR (literal) and LDRSW (literal), limiting the use of simulate_ldr_literal() and simulate_ldrsw_literal() to kprobes. Attempts to place uprobes on LDR (literal) and LDRSW (literal) will be rejected as arm_probe_decode_insn() will return INSN_REJECTED. In future we can consider introducing working uprobes support for these instructions, but this will require more significant work.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50195",
                                "url": "https://ubuntu.com/security/CVE-2024-50195",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  posix-clock: Fix missing timespec64 check in pc_clock_settime()  As Andrew pointed out, it will make sense that the PTP core checked timespec64 struct's tv_sec and tv_nsec range before calling ptp->info->settime64().  As the man manual of clock_settime() said, if tp.tv_sec is negative or tp.tv_nsec is outside the range [0..999,999,999], it should return EINVAL, which include dynamic clocks which handles PTP clock, and the condition is consistent with timespec64_valid(). As Thomas suggested, timespec64_valid() only check the timespec is valid, but not ensure that the time is in a valid range, so check it ahead using timespec64_valid_strict() in pc_clock_settime() and return -EINVAL if not valid.  There are some drivers that use tp->tv_sec and tp->tv_nsec directly to write registers without validity checks and assume that the higher layer has checked it, which is dangerous and will benefit from this, such as hclge_ptp_settime(), igb_ptp_settime_i210(), _rcar_gen4_ptp_settime(), and some drivers can remove the checks of itself.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50096",
                                "url": "https://ubuntu.com/security/CVE-2024-50096",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nouveau/dmem: Fix vulnerability in migrate_to_ram upon copy error  The `nouveau_dmem_copy_one` function ensures that the copy push command is sent to the device firmware but does not track whether it was executed successfully.  In the case of a copy error (e.g., firmware or hardware failure), the copy push command will be sent via the firmware channel, and `nouveau_dmem_copy_one` will likely report success, leading to the `migrate_to_ram` function returning a dirty HIGH_USER page to the user.  This can result in a security vulnerability, as a HIGH_USER page that may contain sensitive or corrupted data could be returned to the user.  To prevent this vulnerability, we allocate a zero page. Thus, in case of an error, a non-dirty (zero) page will be returned to the user.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 17:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50024",
                                "url": "https://ubuntu.com/security/CVE-2024-50024",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: Fix an unsafe loop on the list  The kernel may crash when deleting a genetlink family if there are still listeners for that family:  Oops: Kernel access of bad area, sig: 11 [#1]   ...   NIP [c000000000c080bc] netlink_update_socket_mc+0x3c/0xc0   LR [c000000000c0f764] __netlink_clear_multicast_users+0x74/0xc0   Call Trace: __netlink_clear_multicast_users+0x74/0xc0 genl_unregister_family+0xd4/0x2d0  Change the unsafe loop on the list to a safe one, because inside the loop there is an element removal from this list.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49878",
                                "url": "https://ubuntu.com/security/CVE-2024-49878",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  resource: fix region_intersects() vs add_memory_driver_managed()  On a system with CXL memory, the resource tree (/proc/iomem) related to CXL memory may look like something as follows.  490000000-50fffffff : CXL Window 0   490000000-50fffffff : region0     490000000-50fffffff : dax0.0       490000000-50fffffff : System RAM (kmem)  Because drivers/dax/kmem.c calls add_memory_driver_managed() during onlining CXL memory, which makes \"System RAM (kmem)\" a descendant of \"CXL Window X\".  This confuses region_intersects(), which expects all \"System RAM\" resources to be at the top level of iomem_resource.  This can lead to bugs.  For example, when the following command line is executed to write some memory in CXL memory range via /dev/mem,   $ dd if=data of=/dev/mem bs=$((1 << 10)) seek=$((0x490000000 >> 10)) count=1  dd: error writing '/dev/mem': Bad address  1+0 records in  0+0 records out  0 bytes copied, 0.0283507 s, 0.0 kB/s  the command fails as expected.  However, the error code is wrong.  It should be \"Operation not permitted\" instead of \"Bad address\".  More seriously, the /dev/mem permission checking in devmem_is_allowed() passes incorrectly.  Although the accessing is prevented later because ioremap() isn't allowed to map system RAM, it is a potential security issue.  During command executing, the following warning is reported in the kernel log for calling ioremap() on system RAM.   ioremap on RAM at 0x0000000490000000 - 0x0000000490000fff  WARNING: CPU: 2 PID: 416 at arch/x86/mm/ioremap.c:216 __ioremap_caller.constprop.0+0x131/0x35d  Call Trace:   memremap+0xcb/0x184   xlate_dev_mem_ptr+0x25/0x2f   write_mem+0x94/0xfb   vfs_write+0x128/0x26d   ksys_write+0xac/0xfe   do_syscall_64+0x9a/0xfd   entry_SYSCALL_64_after_hwframe+0x4b/0x53  The details of command execution process are as follows.  In the above resource tree, \"System RAM\" is a descendant of \"CXL Window 0\" instead of a top level resource.  So, region_intersects() will report no System RAM resources in the CXL memory region incorrectly, because it only checks the top level resources.  Consequently, devmem_is_allowed() will return 1 (allow access via /dev/mem) for CXL memory region incorrectly. Fortunately, ioremap() doesn't allow to map System RAM and reject the access.  So, region_intersects() needs to be fixed to work correctly with the resource tree with \"System RAM\" not at top level as above.  To fix it, if we found a unmatched resource in the top level, we will continue to search matched resources in its descendant resources.  So, we will not miss any matched resources in resource tree anymore.  In the new implementation, an example resource tree  |------------- \"CXL Window 0\" ------------| |-- \"System RAM\" --|  will behave similar as the following fake resource tree for region_intersects(, IORESOURCE_SYSTEM_RAM, ),  |-- \"System RAM\" --||-- \"CXL Window 0a\" --|  Where \"CXL Window 0a\" is part of the original \"CXL Window 0\" that isn't covered by \"System RAM\".",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50033",
                                "url": "https://ubuntu.com/security/CVE-2024-50033",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  slip: make slhc_remember() more robust against malicious packets  syzbot found that slhc_remember() was missing checks against malicious packets [1].  slhc_remember() only checked the size of the packet was at least 20, which is not good enough.  We need to make sure the packet includes the IPv4 and TCP header that are supposed to be carried.  Add iph and th pointers to make the code more readable.  [1]  BUG: KMSAN: uninit-value in slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666   slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666   ppp_receive_nonmp_frame+0xe45/0x35e0 drivers/net/ppp/ppp_generic.c:2455   ppp_receive_frame drivers/net/ppp/ppp_generic.c:2372 [inline]   ppp_do_recv+0x65f/0x40d0 drivers/net/ppp/ppp_generic.c:2212   ppp_input+0x7dc/0xe60 drivers/net/ppp/ppp_generic.c:2327   pppoe_rcv_core+0x1d3/0x720 drivers/net/ppp/pppoe.c:379   sk_backlog_rcv+0x13b/0x420 include/net/sock.h:1113   __release_sock+0x1da/0x330 net/core/sock.c:3072   release_sock+0x6b/0x250 net/core/sock.c:3626   pppoe_sendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was created at:   slab_post_alloc_hook mm/slub.c:4091 [inline]   slab_alloc_node mm/slub.c:4134 [inline]   kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4186   kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:587   __alloc_skb+0x363/0x7b0 net/core/skbuff.c:678   alloc_skb include/linux/skbuff.h:1322 [inline]   sock_wmalloc+0xfe/0x1a0 net/core/sock.c:2732   pppoe_sendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  CPU: 0 UID: 0 PID: 5460 Comm: syz.2.33 Not tainted 6.12.0-rc2-syzkaller-00006-g87d6aab2389e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50035",
                                "url": "https://ubuntu.com/security/CVE-2024-50035",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ppp: fix ppp_async_encode() illegal access  syzbot reported an issue in ppp_async_encode() [1]  In this case, pppoe_sendmsg() is called with a zero size. Then ppp_async_encode() is called with an empty skb.  BUG: KMSAN: uninit-value in ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline]  BUG: KMSAN: uninit-value in ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675   ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline]   ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675   ppp_async_send+0x130/0x1b0 drivers/net/ppp/ppp_async.c:634   ppp_channel_bridge_input drivers/net/ppp/ppp_generic.c:2280 [inline]   ppp_input+0x1f1/0xe60 drivers/net/ppp/ppp_generic.c:2304   pppoe_rcv_core+0x1d3/0x720 drivers/net/ppp/pppoe.c:379   sk_backlog_rcv+0x13b/0x420 include/net/sock.h:1113   __release_sock+0x1da/0x330 net/core/sock.c:3072   release_sock+0x6b/0x250 net/core/sock.c:3626   pppoe_sendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was created at:   slab_post_alloc_hook mm/slub.c:4092 [inline]   slab_alloc_node mm/slub.c:4135 [inline]   kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4187   kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:587   __alloc_skb+0x363/0x7b0 net/core/skbuff.c:678   alloc_skb include/linux/skbuff.h:1322 [inline]   sock_wmalloc+0xfe/0x1a0 net/core/sock.c:2732   pppoe_sendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  CPU: 1 UID: 0 PID: 5411 Comm: syz.1.14 Not tainted 6.12.0-rc1-syzkaller-00165-g360c1f1f24c6 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50039",
                                "url": "https://ubuntu.com/security/CVE-2024-50039",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: accept TCA_STAB only for root qdisc  Most qdiscs maintain their backlog using qdisc_pkt_len(skb) on the assumption it is invariant between the enqueue() and dequeue() handlers.  Unfortunately syzbot can crash a host rather easily using a TBF + SFQ combination, with an STAB on SFQ [1]  We can't support TCA_STAB on arbitrary level, this would require to maintain per-qdisc storage.  [1] [   88.796496] BUG: kernel NULL pointer dereference, address: 0000000000000000 [   88.798611] #PF: supervisor read access in kernel mode [   88.799014] #PF: error_code(0x0000) - not-present page [   88.799506] PGD 0 P4D 0 [   88.799829] Oops: Oops: 0000 [#1] SMP NOPTI [   88.800569] CPU: 14 UID: 0 PID: 2053 Comm: b371744477 Not tainted 6.12.0-rc1-virtme #1117 [   88.801107] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [   88.801779] RIP: 0010:sfq_dequeue (net/sched/sch_sfq.c:272 net/sched/sch_sfq.c:499) sch_sfq [ 88.802544] Code: 0f b7 50 12 48 8d 04 d5 00 00 00 00 48 89 d6 48 29 d0 48 8b 91 c0 01 00 00 48 c1 e0 03 48 01 c2 66 83 7a 1a 00 7e c0 48 8b 3a <4c> 8b 07 4c 89 02 49 89 50 08 48 c7 47 08 00 00 00 00 48 c7 07 00 All code ========    0:\t0f b7 50 12          \tmovzwl 0x12(%rax),%edx    4:\t48 8d 04 d5 00 00 00 \tlea    0x0(,%rdx,8),%rax    b:\t00    c:\t48 89 d6             \tmov    %rdx,%rsi    f:\t48 29 d0             \tsub    %rdx,%rax   12:\t48 8b 91 c0 01 00 00 \tmov    0x1c0(%rcx),%rdx   19:\t48 c1 e0 03          \tshl    $0x3,%rax   1d:\t48 01 c2             \tadd    %rax,%rdx   20:\t66 83 7a 1a 00       \tcmpw   $0x0,0x1a(%rdx)   25:\t7e c0                \tjle    0xffffffffffffffe7   27:\t48 8b 3a             \tmov    (%rdx),%rdi   2a:*\t4c 8b 07             \tmov    (%rdi),%r8\t\t<-- trapping instruction   2d:\t4c 89 02             \tmov    %r8,(%rdx)   30:\t49 89 50 08          \tmov    %rdx,0x8(%r8)   34:\t48 c7 47 08 00 00 00 \tmovq   $0x0,0x8(%rdi)   3b:\t00   3c:\t48                   \trex.W   3d:\tc7                   \t.byte 0xc7   3e:\t07                   \t(bad) \t...  Code starting with the faulting instruction ===========================================    0:\t4c 8b 07             \tmov    (%rdi),%r8    3:\t4c 89 02             \tmov    %r8,(%rdx)    6:\t49 89 50 08          \tmov    %rdx,0x8(%r8)    a:\t48 c7 47 08 00 00 00 \tmovq   $0x0,0x8(%rdi)   11:\t00   12:\t48                   \trex.W   13:\tc7                   \t.byte 0xc7   14:\t07                   \t(bad) \t... [   88.803721] RSP: 0018:ffff9a1f892b7d58 EFLAGS: 00000206 [   88.804032] RAX: 0000000000000000 RBX: ffff9a1f8420c800 RCX: ffff9a1f8420c800 [   88.804560] RDX: ffff9a1f81bc1440 RSI: 0000000000000000 RDI: 0000000000000000 [   88.805056] RBP: ffffffffc04bb0e0 R08: 0000000000000001 R09: 00000000ff7f9a1f [   88.805473] R10: 000000000001001b R11: 0000000000009a1f R12: 0000000000000140 [   88.806194] R13: 0000000000000001 R14: ffff9a1f886df400 R15: ffff9a1f886df4ac [   88.806734] FS:  00007f445601a740(0000) GS:ffff9a2e7fd80000(0000) knlGS:0000000000000000 [   88.807225] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [   88.807672] CR2: 0000000000000000 CR3: 000000050cc46000 CR4: 00000000000006f0 [   88.808165] Call Trace: [   88.808459]  <TASK> [   88.808710] ? __die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434) [   88.809261] ? page_fault_oops (arch/x86/mm/fault.c:715) [   88.809561] ? exc_page_fault (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:87 ./arch/x86/include/asm/irqflags.h:147 arch/x86/mm/fault.c:1489 arch/x86/mm/fault.c:1539) [   88.809806] ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) [   88.810074] ? sfq_dequeue (net/sched/sch_sfq.c:272 net/sched/sch_sfq.c:499) sch_sfq [   88.810411] sfq_reset (net/sched/sch_sfq.c:525) sch_sfq [   88.810671] qdisc_reset (./include/linux/skbuff.h:2135 ./include/linux/skbuff.h:2441 ./include/linux/skbuff.h:3304 ./include/linux/skbuff.h:3310 net/sched/sch_g ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50040",
                                "url": "https://ubuntu.com/security/CVE-2024-50040",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  igb: Do not bring the device up after non-fatal error  Commit 004d25060c78 (\"igb: Fix igb_down hung on surprise removal\") changed igb_io_error_detected() to ignore non-fatal pcie errors in order to avoid hung task that can happen when igb_down() is called multiple times. This caused an issue when processing transient non-fatal errors. igb_io_resume(), which is called after igb_io_error_detected(), assumes that device is brought down by igb_io_error_detected() if the interface is up. This resulted in panic with stacktrace below.  [ T3256] igb 0000:09:00.0 haeth0: igb: haeth0 NIC Link is Down [  T292] pcieport 0000:00:1c.5: AER: Uncorrected (Non-Fatal) error received: 0000:09:00.0 [  T292] igb 0000:09:00.0: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Requester ID) [  T292] igb 0000:09:00.0:   device [8086:1537] error status/mask=00004000/00000000 [  T292] igb 0000:09:00.0:    [14] CmpltTO [  200.105524,009][  T292] igb 0000:09:00.0: AER:   TLP Header: 00000000 00000000 00000000 00000000 [  T292] pcieport 0000:00:1c.5: AER: broadcast error_detected message [  T292] igb 0000:09:00.0: Non-correctable non-fatal error reported. [  T292] pcieport 0000:00:1c.5: AER: broadcast mmio_enabled message [  T292] pcieport 0000:00:1c.5: AER: broadcast resume message [  T292] ------------[ cut here ]------------ [  T292] kernel BUG at net/core/dev.c:6539! [  T292] invalid opcode: 0000 [#1] PREEMPT SMP [  T292] RIP: 0010:napi_enable+0x37/0x40 [  T292] Call Trace: [  T292]  <TASK> [  T292]  ? die+0x33/0x90 [  T292]  ? do_trap+0xdc/0x110 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? do_error_trap+0x70/0xb0 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? exc_invalid_op+0x4e/0x70 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? asm_exc_invalid_op+0x16/0x20 [  T292]  ? napi_enable+0x37/0x40 [  T292]  igb_up+0x41/0x150 [  T292]  igb_io_resume+0x25/0x70 [  T292]  report_resume+0x54/0x70 [  T292]  ? report_frozen_detected+0x20/0x20 [  T292]  pci_walk_bus+0x6c/0x90 [  T292]  ? aer_print_port_info+0xa0/0xa0 [  T292]  pcie_do_recovery+0x22f/0x380 [  T292]  aer_process_err_devices+0x110/0x160 [  T292]  aer_isr+0x1c1/0x1e0 [  T292]  ? disable_irq_nosync+0x10/0x10 [  T292]  irq_thread_fn+0x1a/0x60 [  T292]  irq_thread+0xe3/0x1a0 [  T292]  ? irq_set_affinity_notifier+0x120/0x120 [  T292]  ? irq_affinity_notify+0x100/0x100 [  T292]  kthread+0xe2/0x110 [  T292]  ? kthread_complete_and_exit+0x20/0x20 [  T292]  ret_from_fork+0x2d/0x50 [  T292]  ? kthread_complete_and_exit+0x20/0x20 [  T292]  ret_from_fork_asm+0x11/0x20 [  T292]  </TASK>  To fix this issue igb_io_resume() checks if the interface is running and the device is not down this means igb_io_error_detected() did not bring the device down and there is no need to bring it up.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50044",
                                "url": "https://ubuntu.com/security/CVE-2024-50044",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: RFCOMM: FIX possible deadlock in rfcomm_sk_state_change  rfcomm_sk_state_change attempts to use sock_lock so it must never be called with it locked but rfcomm_sock_ioctl always attempt to lock it causing the following trace:  ====================================================== WARNING: possible circular locking dependency detected 6.8.0-syzkaller-08951-gfe46a7dd189e #0 Not tainted ------------------------------------------------------ syz-executor386/5093 is trying to acquire lock: ffff88807c396258 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1671 [inline] ffff88807c396258 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, at: rfcomm_sk_state_change+0x5b/0x310 net/bluetooth/rfcomm/sock.c:73  but task is already holding lock: ffff88807badfd28 (&d->lock){+.+.}-{3:3}, at: __rfcomm_dlc_close+0x226/0x6a0 net/bluetooth/rfcomm/core.c:491",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50045",
                                "url": "https://ubuntu.com/security/CVE-2024-50045",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: br_netfilter: fix panic with metadata_dst skb  Fix a kernel panic in the br_netfilter module when sending untagged traffic via a VxLAN device. This happens during the check for fragmentation in br_nf_dev_queue_xmit.  It is dependent on: 1) the br_netfilter module being loaded; 2) net.bridge.bridge-nf-call-iptables set to 1; 3) a bridge with a VxLAN (single-vxlan-device) netdevice as a bridge port; 4) untagged frames with size higher than the VxLAN MTU forwarded/flooded  When forwarding the untagged packet to the VxLAN bridge port, before the netfilter hooks are called, br_handle_egress_vlan_tunnel is called and changes the skb_dst to the tunnel dst. The tunnel_dst is a metadata type of dst, i.e., skb_valid_dst(skb) is false, and metadata->dst.dev is NULL.  Then in the br_netfilter hooks, in br_nf_dev_queue_xmit, there's a check for frames that needs to be fragmented: frames with higher MTU than the VxLAN device end up calling br_nf_ip_fragment, which in turns call ip_skb_dst_mtu.  The ip_dst_mtu tries to use the skb_dst(skb) as if it was a valid dst with valid dst->dev, thus the crash.  This case was never supported in the first place, so drop the packet instead.  PING 10.0.0.2 (10.0.0.2) from 0.0.0.0 h1-eth0: 2000(2028) bytes of data. [  176.291791] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000110 [  176.292101] Mem abort info: [  176.292184]   ESR = 0x0000000096000004 [  176.292322]   EC = 0x25: DABT (current EL), IL = 32 bits [  176.292530]   SET = 0, FnV = 0 [  176.292709]   EA = 0, S1PTW = 0 [  176.292862]   FSC = 0x04: level 0 translation fault [  176.293013] Data abort info: [  176.293104]   ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [  176.293488]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [  176.293787]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [  176.293995] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000043ef5000 [  176.294166] [0000000000000110] pgd=0000000000000000, p4d=0000000000000000 [  176.294827] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP [  176.295252] Modules linked in: vxlan ip6_udp_tunnel udp_tunnel veth br_netfilter bridge stp llc ipv6 crct10dif_ce [  176.295923] CPU: 0 PID: 188 Comm: ping Not tainted 6.8.0-rc3-g5b3fbd61b9d1 #2 [  176.296314] Hardware name: linux,dummy-virt (DT) [  176.296535] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [  176.296808] pc : br_nf_dev_queue_xmit+0x390/0x4ec [br_netfilter] [  176.297382] lr : br_nf_dev_queue_xmit+0x2ac/0x4ec [br_netfilter] [  176.297636] sp : ffff800080003630 [  176.297743] x29: ffff800080003630 x28: 0000000000000008 x27: ffff6828c49ad9f8 [  176.298093] x26: ffff6828c49ad000 x25: 0000000000000000 x24: 00000000000003e8 [  176.298430] x23: 0000000000000000 x22: ffff6828c4960b40 x21: ffff6828c3b16d28 [  176.298652] x20: ffff6828c3167048 x19: ffff6828c3b16d00 x18: 0000000000000014 [  176.298926] x17: ffffb0476322f000 x16: ffffb7e164023730 x15: 0000000095744632 [  176.299296] x14: ffff6828c3f1c880 x13: 0000000000000002 x12: ffffb7e137926a70 [  176.299574] x11: 0000000000000001 x10: ffff6828c3f1c898 x9 : 0000000000000000 [  176.300049] x8 : ffff6828c49bf070 x7 : 0008460f18d5f20e x6 : f20e0100bebafeca [  176.300302] x5 : ffff6828c7f918fe x4 : ffff6828c49bf070 x3 : 0000000000000000 [  176.300586] x2 : 0000000000000000 x1 : ffff6828c3c7ad00 x0 : ffff6828c7f918f0 [  176.300889] Call trace: [  176.301123]  br_nf_dev_queue_xmit+0x390/0x4ec [br_netfilter] [  176.301411]  br_nf_post_routing+0x2a8/0x3e4 [br_netfilter] [  176.301703]  nf_hook_slow+0x48/0x124 [  176.302060]  br_forward_finish+0xc8/0xe8 [bridge] [  176.302371]  br_nf_hook_thresh+0x124/0x134 [br_netfilter] [  176.302605]  br_nf_forward_finish+0x118/0x22c [br_netfilter] [  176.302824]  br_nf_forward_ip.part.0+0x264/0x290 [br_netfilter] [  176.303136]  br_nf_forward+0x2b8/0x4e0 [br_netfilter] [  176.303359]  nf_hook_slow+0x48/0x124 [  176.303 ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-38544",
                                "url": "https://ubuntu.com/security/CVE-2024-38544",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt In rxe_comp_queue_pkt() an incoming response packet skb is enqueued to the resp_pkts queue and then a decision is made whether to run the completer task inline or schedule it. Finally the skb is dereferenced to bump a 'hw' performance counter. This is wrong because if the completer task is already running in a separate thread it may have already processed the skb and freed it which can cause a seg fault. This has been observed infrequently in testing at high scale. This patch fixes this by changing the order of enqueuing the packet until after the counter is accessed.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-06-19 14:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50180",
                                "url": "https://ubuntu.com/security/CVE-2024-50180",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fbdev: sisfb: Fix strbuf array overflow  The values of the variables xres and yres are placed in strbuf. These variables are obtained from strbuf1. The strbuf1 array contains digit characters and a space if the array contains non-digit characters. Then, when executing sprintf(strbuf, \"%ux%ux8\", xres, yres); more than 16 bytes will be written to strbuf. It is suggested to increase the size of the strbuf array to 24.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50184",
                                "url": "https://ubuntu.com/security/CVE-2024-50184",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  virtio_pmem: Check device status before requesting flush  If a pmem device is in a bad status, the driver side could wait for host ack forever in virtio_pmem_flush(), causing the system to hang.  So add a status check in the beginning of virtio_pmem_flush() to return early if the device is not activated.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50059",
                                "url": "https://ubuntu.com/security/CVE-2024-50059",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition  In the switchtec_ntb_add function, it can call switchtec_ntb_init_sndev function, then &sndev->check_link_status_work is bound with check_link_status_work. switchtec_ntb_link_notification may be called to start the work.  If we remove the module which will call switchtec_ntb_remove to make cleanup, it will free sndev through kfree(sndev), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                 CPU1                          | check_link_status_work switchtec_ntb_remove    | kfree(sndev);           |                         | if (sndev->link_force_down)                         | // use sndev  Fix it by ensuring that the work is canceled before proceeding with the cleanup in switchtec_ntb_remove.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50089",
                                "url": "https://ubuntu.com/security/CVE-2024-50089",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 17:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49955",
                                "url": "https://ubuntu.com/security/CVE-2024-49955",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPI: battery: Fix possible crash when unregistering a battery hook  When a battery hook returns an error when adding a new battery, then the battery hook is automatically unregistered. However the battery hook provider cannot know that, so it will later call battery_hook_unregister() on the already unregistered battery hook, resulting in a crash.  Fix this by using the list head to mark already unregistered battery hooks as already being unregistered so that they can be ignored by battery_hook_unregister().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49973",
                                "url": "https://ubuntu.com/security/CVE-2024-49973",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  r8169: add tally counter fields added with RTL8125  RTL8125 added fields to the tally counter, what may result in the chip dma'ing these new fields to unallocated memory. Therefore make sure that the allocated memory area is big enough to hold all of the tally counter values, even if we use only parts of it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49975",
                                "url": "https://ubuntu.com/security/CVE-2024-49975",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  uprobes: fix kernel info leak via \"[uprobes]\" vma  xol_add_vma() maps the uninitialized page allocated by __create_xol_area() into userspace. On some architectures (x86) this memory is readable even without VM_READ, VM_EXEC results in the same pgprot_t as VM_EXEC|VM_READ, although this doesn't really matter, debugger can read this memory anyway.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49867",
                                "url": "https://ubuntu.com/security/CVE-2024-49867",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: wait for fixup workers before stopping cleaner kthread during umount  During unmount, at close_ctree(), we have the following steps in this order:  1) Park the cleaner kthread - this doesn't destroy the kthread, it basically    halts its execution (wake ups against it work but do nothing);  2) We stop the cleaner kthread - this results in freeing the respective    struct task_struct;  3) We call btrfs_stop_all_workers() which waits for any jobs running in all    the work queues and then free the work queues.  Syzbot reported a case where a fixup worker resulted in a crash when doing a delayed iput on its inode while attempting to wake up the cleaner at btrfs_add_delayed_iput(), because the task_struct of the cleaner kthread was already freed. This can happen during unmount because we don't wait for any fixup workers still running before we call kthread_stop() against the cleaner kthread, which stops and free all its resources.  Fix this by waiting for any fixup workers at close_ctree() before we call kthread_stop() against the cleaner and run pending delayed iputs.  The stack traces reported by syzbot were the following:    BUG: KASAN: slab-use-after-free in __lock_acquire+0x77/0x2050 kernel/locking/lockdep.c:5065   Read of size 8 at addr ffff8880272a8a18 by task kworker/u8:3/52    CPU: 1 UID: 0 PID: 52 Comm: kworker/u8:3 Not tainted 6.12.0-rc1-syzkaller #0   Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024   Workqueue: btrfs-fixup btrfs_work_helper   Call Trace:    <TASK>    __dump_stack lib/dump_stack.c:94 [inline]    dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120    print_address_description mm/kasan/report.c:377 [inline]    print_report+0x169/0x550 mm/kasan/report.c:488    kasan_report+0x143/0x180 mm/kasan/report.c:601    __lock_acquire+0x77/0x2050 kernel/locking/lockdep.c:5065    lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5825    __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]    _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162    class_raw_spinlock_irqsave_constructor include/linux/spinlock.h:551 [inline]    try_to_wake_up+0xb0/0x1480 kernel/sched/core.c:4154    btrfs_writepage_fixup_worker+0xc16/0xdf0 fs/btrfs/inode.c:2842    btrfs_work_helper+0x390/0xc50 fs/btrfs/async-thread.c:314    process_one_work kernel/workqueue.c:3229 [inline]    process_scheduled_works+0xa63/0x1850 kernel/workqueue.c:3310    worker_thread+0x870/0xd30 kernel/workqueue.c:3391    kthread+0x2f0/0x390 kernel/kthread.c:389    ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147    ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244    </TASK>    Allocated by task 2:    kasan_save_stack mm/kasan/common.c:47 [inline]    kasan_save_track+0x3f/0x80 mm/kasan/common.c:68    unpoison_slab_object mm/kasan/common.c:319 [inline]    __kasan_slab_alloc+0x66/0x80 mm/kasan/common.c:345    kasan_slab_alloc include/linux/kasan.h:247 [inline]    slab_post_alloc_hook mm/slub.c:4086 [inline]    slab_alloc_node mm/slub.c:4135 [inline]    kmem_cache_alloc_node_noprof+0x16b/0x320 mm/slub.c:4187    alloc_task_struct_node kernel/fork.c:180 [inline]    dup_task_struct+0x57/0x8c0 kernel/fork.c:1107    copy_process+0x5d1/0x3d50 kernel/fork.c:2206    kernel_clone+0x223/0x880 kernel/fork.c:2787    kernel_thread+0x1bc/0x240 kernel/fork.c:2849    create_kthread kernel/kthread.c:412 [inline]    kthreadd+0x60d/0x810 kernel/kthread.c:765    ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147    ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244    Freed by task 61:    kasan_save_stack mm/kasan/common.c:47 [inline]    kasan_save_track+0x3f/0x80 mm/kasan/common.c:68    kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579    poison_slab_object mm/kasan/common.c:247 [inline]    __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264    kasan_slab_free include/linux/kasan.h:230 [inline]    slab_free_h ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49868",
                                "url": "https://ubuntu.com/security/CVE-2024-49868",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: fix a NULL pointer dereference when failed to start a new trasacntion  [BUG] Syzbot reported a NULL pointer dereference with the following crash:    FAULT_INJECTION: forcing a failure.    start_transaction+0x830/0x1670 fs/btrfs/transaction.c:676    prepare_to_relocate+0x31f/0x4c0 fs/btrfs/relocation.c:3642    relocate_block_group+0x169/0xd20 fs/btrfs/relocation.c:3678   ...   BTRFS info (device loop0): balance: ended with status: -12   Oops: general protection fault, probably for non-canonical address 0xdffffc00000000cc: 0000 [#1] PREEMPT SMP KASAN NOPTI   KASAN: null-ptr-deref in range [0x0000000000000660-0x0000000000000667]   RIP: 0010:btrfs_update_reloc_root+0x362/0xa80 fs/btrfs/relocation.c:926   Call Trace:    <TASK>    commit_fs_roots+0x2ee/0x720 fs/btrfs/transaction.c:1496    btrfs_commit_transaction+0xfaf/0x3740 fs/btrfs/transaction.c:2430    del_balance_item fs/btrfs/volumes.c:3678 [inline]    reset_balance_state+0x25e/0x3c0 fs/btrfs/volumes.c:3742    btrfs_balance+0xead/0x10c0 fs/btrfs/volumes.c:4574    btrfs_ioctl_balance+0x493/0x7c0 fs/btrfs/ioctl.c:3673    vfs_ioctl fs/ioctl.c:51 [inline]    __do_sys_ioctl fs/ioctl.c:907 [inline]    __se_sys_ioctl+0xf9/0x170 fs/ioctl.c:893    do_syscall_x64 arch/x86/entry/common.c:52 [inline]    do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83    entry_SYSCALL_64_after_hwframe+0x77/0x7f  [CAUSE] The allocation failure happens at the start_transaction() inside prepare_to_relocate(), and during the error handling we call unset_reloc_control(), which makes fs_info->balance_ctl to be NULL.  Then we continue the error path cleanup in btrfs_balance() by calling reset_balance_state() which will call del_balance_item() to fully delete the balance item in the root tree.  However during the small window between set_reloc_contrl() and unset_reloc_control(), we can have a subvolume tree update and created a reloc_root for that subvolume.  Then we go into the final btrfs_commit_transaction() of del_balance_item(), and into btrfs_update_reloc_root() inside commit_fs_roots().  That function checks if fs_info->reloc_ctl is in the merge_reloc_tree stage, but since fs_info->reloc_ctl is NULL, it results a NULL pointer dereference.  [FIX] Just add extra check on fs_info->reloc_ctl inside btrfs_update_reloc_root(), before checking fs_info->reloc_ctl->merge_reloc_tree.  That DEAD_RELOC_TREE handling is to prevent further modification to the reloc tree during merge stage, but since there is no reloc_ctl at all, we do not need to bother that.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49981",
                                "url": "https://ubuntu.com/security/CVE-2024-49981",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: venus: fix use after free bug in venus_remove due to race condition  in venus_probe, core->work is bound with venus_sys_error_handler, which is used to handle error. The code use core->sys_err_done to make sync work. The core->work is started in venus_event_notify.  If we call venus_remove, there might be an unfished work. The possible sequence is as follows:  CPU0                  CPU1                       |venus_sys_error_handler venus_remove         | hfi_destroy\t \t\t | venus_hfi_destroy\t | kfree(hdev);\t     |                      |hfi_reinit \t\t\t\t\t |venus_hfi_queues_reinit                      |//use hdev  Fix it by canceling the work in venus_remove.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49982",
                                "url": "https://ubuntu.com/security/CVE-2024-49982",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  aoe: fix the potential use-after-free problem in more places  For fixing CVE-2023-6270, f98364e92662 (\"aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts\") makes tx() calling dev_put() instead of doing in aoecmd_cfg_pkts(). It avoids that the tx() runs into use-after-free.  Then Nicolai Stange found more places in aoe have potential use-after-free problem with tx(). e.g. revalidate(), aoecmd_ata_rw(), resend(), probe() and aoecmd_cfg_rsp(). Those functions also use aoenet_xmit() to push packet to tx queue. So they should also use dev_hold() to increase the refcnt of skb->dev.  On the other hand, moving dev_put() to tx() causes that the refcnt of skb->dev be reduced to a negative value, because corresponding dev_hold() are not called in revalidate(), aoecmd_ata_rw(), resend(), probe(), and aoecmd_cfg_rsp(). This patch fixed this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49877",
                                "url": "https://ubuntu.com/security/CVE-2024-49877",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate  When doing cleanup, if flags without OCFS2_BH_READAHEAD, it may trigger NULL pointer dereference in the following ocfs2_set_buffer_uptodate() if bh is NULL.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49957",
                                "url": "https://ubuntu.com/security/CVE-2024-49957",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix null-ptr-deref when journal load failed.  During the mounting process, if journal_reset() fails because of too short journal, then lead to jbd2_journal_load() fails with NULL j_sb_buffer. Subsequently, ocfs2_journal_shutdown() calls jbd2_journal_flush()->jbd2_cleanup_journal_tail()-> __jbd2_update_log_tail()->jbd2_journal_update_sb_log_tail() ->lock_buffer(journal->j_sb_buffer), resulting in a null-pointer dereference error.  To resolve this issue, we should check the JBD2_LOADED flag to ensure the journal was properly loaded.  Additionally, use journal instead of osb->journal directly to simplify the code.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49965",
                                "url": "https://ubuntu.com/security/CVE-2024-49965",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: remove unreasonable unlock in ocfs2_read_blocks  Patch series \"Misc fixes for ocfs2_read_blocks\", v5.  This series contains 2 fixes for ocfs2_read_blocks().  The first patch fix the issue reported by syzbot, which detects bad unlock balance in ocfs2_read_blocks().  The second patch fixes an issue reported by Heming Zhao when reviewing above fix.   This patch (of 2):  There was a lock release before exiting, so remove the unreasonable unlock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49966",
                                "url": "https://ubuntu.com/security/CVE-2024-49966",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: cancel dqi_sync_work before freeing oinfo  ocfs2_global_read_info() will initialize and schedule dqi_sync_work at the end, if error occurs after successfully reading global quota, it will trigger the following warning with CONFIG_DEBUG_OBJECTS_* enabled:  ODEBUG: free active (active state 0) object: 00000000d8b0ce28 object type: timer_list hint: qsync_work_fn+0x0/0x16c  This reports that there is an active delayed work when freeing oinfo in error handling, so cancel dqi_sync_work first.  BTW, return status instead of -1 when .read_file_info fails.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49958",
                                "url": "https://ubuntu.com/security/CVE-2024-49958",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: reserve space for inline xattr before attaching reflink tree  One of our customers reported a crash and a corrupted ocfs2 filesystem. The crash was due to the detection of corruption.  Upon troubleshooting, the fsck -fn output showed the below corruption  [EXTENT_LIST_FREE] Extent list in owner 33080590 claims 230 as the next free chain record, but fsck believes the largest valid value is 227.  Clamp the next record value? n  The stat output from the debugfs.ocfs2 showed the following corruption where the \"Next Free Rec:\" had overshot the \"Count:\" in the root metadata block.          Inode: 33080590   Mode: 0640   Generation: 2619713622 (0x9c25a856)         FS Generation: 904309833 (0x35e6ac49)         CRC32: 00000000   ECC: 0000         Type: Regular   Attr: 0x0   Flags: Valid         Dynamic Features: (0x16) HasXattr InlineXattr Refcounted         Extended Attributes Block: 0  Extended Attributes Inline Size: 256         User: 0 (root)   Group: 0 (root)   Size: 281320357888         Links: 1   Clusters: 141738         ctime: 0x66911b56 0x316edcb8 -- Fri Jul 12 06:02:30.829349048 2024         atime: 0x66911d6b 0x7f7a28d -- Fri Jul 12 06:11:23.133669517 2024         mtime: 0x66911b56 0x12ed75d7 -- Fri Jul 12 06:02:30.317552087 2024         dtime: 0x0 -- Wed Dec 31 17:00:00 1969         Refcount Block: 2777346         Last Extblk: 2886943   Orphan Slot: 0         Sub Alloc Slot: 0   Sub Alloc Bit: 14         Tree Depth: 1   Count: 227   Next Free Rec: 230         ## Offset        Clusters       Block#         0  0             2310           2776351         1  2310          2139           2777375         2  4449          1221           2778399         3  5670          731            2779423         4  6401          566            2780447         .......          ....           .......         .......          ....           .......  The issue was in the reflink workfow while reserving space for inline xattr.  The problematic function is ocfs2_reflink_xattr_inline().  By the time this function is called the reflink tree is already recreated at the destination inode from the source inode.  At this point, this function reserves space for inline xattrs at the destination inode without even checking if there is space at the root metadata block.  It simply reduces the l_count from 243 to 227 thereby making space of 256 bytes for inline xattr whereas the inode already has extents beyond this index (in this case up to 230), thereby causing corruption.  The fix for this is to reserve space for inline metadata at the destination inode before the reflink tree gets recreated. The customer has verified the fix.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49959",
                                "url": "https://ubuntu.com/security/CVE-2024-49959",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error  In __jbd2_log_wait_for_space(), we might call jbd2_cleanup_journal_tail() to recover some journal space. But if an error occurs while executing jbd2_cleanup_journal_tail() (e.g., an EIO), we don't stop waiting for free space right away, we try other branches, and if j_committing_transaction is NULL (i.e., the tid is 0), we will get the following complain:  ============================================ JBD2: I/O error when updating journal superblock for sdd-8. __jbd2_log_wait_for_space: needed 256 blocks and only had 217 space available __jbd2_log_wait_for_space: no way to get more journal space in sdd-8 ------------[ cut here ]------------ WARNING: CPU: 2 PID: 139804 at fs/jbd2/checkpoint.c:109 __jbd2_log_wait_for_space+0x251/0x2e0 Modules linked in: CPU: 2 PID: 139804 Comm: kworker/u8:3 Not tainted 6.6.0+ #1 RIP: 0010:__jbd2_log_wait_for_space+0x251/0x2e0 Call Trace:  <TASK>  add_transaction_credits+0x5d1/0x5e0  start_this_handle+0x1ef/0x6a0  jbd2__journal_start+0x18b/0x340  ext4_dirty_inode+0x5d/0xb0  __mark_inode_dirty+0xe4/0x5d0  generic_update_time+0x60/0x70 [...] ============================================  So only if jbd2_cleanup_journal_tail() returns 1, i.e., there is nothing to clean up at the moment, continue to try to reclaim free space in other ways.  Note that this fix relies on commit 6f6a6fda2945 (\"jbd2: fix ocfs2 corrupt when updating journal superblock fails\") to make jbd2_cleanup_journal_tail return the correct error code.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49879",
                                "url": "https://ubuntu.com/security/CVE-2024-49879",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm: omapdrm: Add missing check for alloc_ordered_workqueue  As it may return NULL pointer and cause NULL pointer dereference. Add check for the return value of alloc_ordered_workqueue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49882",
                                "url": "https://ubuntu.com/security/CVE-2024-49882",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix double brelse() the buffer of the extents path  In ext4_ext_try_to_merge_up(), set path[1].p_bh to NULL after it has been released, otherwise it may be released twice. An example of what triggers this is as follows:    split2    map    split1 |--------|-------|--------|  ext4_ext_map_blocks  ext4_ext_handle_unwritten_extents   ext4_split_convert_extents    // path->p_depth == 0    ext4_split_extent      // 1. do split1      ext4_split_extent_at        |ext4_ext_insert_extent        |  ext4_ext_create_new_leaf        |    ext4_ext_grow_indepth        |      le16_add_cpu(&neh->eh_depth, 1)        |    ext4_find_extent        |      // return -ENOMEM        |// get error and try zeroout        |path = ext4_find_extent        |  path->p_depth = 1        |ext4_ext_try_to_merge        |  ext4_ext_try_to_merge_up        |    path->p_depth = 0        |    brelse(path[1].p_bh)  ---> not set to NULL here        |// zeroout success      // 2. update path      ext4_find_extent      // 3. do split2      ext4_split_extent_at        ext4_ext_insert_extent          ext4_ext_create_new_leaf            ext4_ext_grow_indepth              le16_add_cpu(&neh->eh_depth, 1)            ext4_find_extent              path[0].p_bh = NULL;              path->p_depth = 1              read_extent_tree_block  ---> return err              // path[1].p_bh is still the old value              ext4_free_ext_path                ext4_ext_drop_refs                  // path->p_depth == 1                  brelse(path[1].p_bh)  ---> brelse a buffer twice  Finally got the following WARRNING when removing the buffer from lru:  ============================================ VFS: brelse: Trying to free free buffer WARNING: CPU: 2 PID: 72 at fs/buffer.c:1241 __brelse+0x58/0x90 CPU: 2 PID: 72 Comm: kworker/u19:1 Not tainted 6.9.0-dirty #716 RIP: 0010:__brelse+0x58/0x90 Call Trace:  <TASK>  __find_get_block+0x6e7/0x810  bdev_getblk+0x2b/0x480  __ext4_get_inode_loc+0x48a/0x1240  ext4_get_inode_loc+0xb2/0x150  ext4_reserve_inode_write+0xb7/0x230  __ext4_mark_inode_dirty+0x144/0x6a0  ext4_ext_insert_extent+0x9c8/0x3230  ext4_ext_map_blocks+0xf45/0x2dc0  ext4_map_blocks+0x724/0x1700  ext4_do_writepages+0x12d6/0x2a70 [...] ============================================",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49883",
                                "url": "https://ubuntu.com/security/CVE-2024-49883",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: aovid use-after-free in ext4_ext_insert_extent()  As Ojaswin mentioned in Link, in ext4_ext_insert_extent(), if the path is reallocated in ext4_ext_create_new_leaf(), we'll use the stale path and cause UAF. Below is a sample trace with dummy values:  ext4_ext_insert_extent   path = *ppath = 2000   ext4_ext_create_new_leaf(ppath)     ext4_find_extent(ppath)       path = *ppath = 2000       if (depth > path[0].p_maxdepth)             kfree(path = 2000);             *ppath = path = NULL;       path = kcalloc() = 3000       *ppath = 3000;       return path;   /* here path is still 2000, UAF! */   eh = path[depth].p_hdr  ================================================================== BUG: KASAN: slab-use-after-free in ext4_ext_insert_extent+0x26d4/0x3330 Read of size 8 at addr ffff8881027bf7d0 by task kworker/u36:1/179 CPU: 3 UID: 0 PID: 179 Comm: kworker/u6:1 Not tainted 6.11.0-rc2-dirty #866 Call Trace:  <TASK>  ext4_ext_insert_extent+0x26d4/0x3330  ext4_ext_map_blocks+0xe22/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800 [...]  Allocated by task 179:  ext4_find_extent+0x81c/0x1f70  ext4_ext_map_blocks+0x146/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800  ext4_writepages+0x26d/0x4e0  do_writepages+0x175/0x700 [...]  Freed by task 179:  kfree+0xcb/0x240  ext4_find_extent+0x7c0/0x1f70  ext4_ext_insert_extent+0xa26/0x3330  ext4_ext_map_blocks+0xe22/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800  ext4_writepages+0x26d/0x4e0  do_writepages+0x175/0x700 [...] ==================================================================  So use *ppath to update the path to avoid the above problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49985",
                                "url": "https://ubuntu.com/security/CVE-2024-49985",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume  In case there is any sort of clock controller attached to this I2C bus controller, for example Versaclock or even an AIC32x4 I2C codec, then an I2C transfer triggered from the clock controller clk_ops .prepare callback may trigger a deadlock on drivers/clk/clk.c prepare_lock mutex.  This is because the clock controller first grabs the prepare_lock mutex and then performs the prepare operation, including its I2C access. The I2C access resumes this I2C bus controller via .runtime_resume callback, which calls clk_prepare_enable(), which attempts to grab the prepare_lock mutex again and deadlocks.  Since the clock are already prepared since probe() and unprepared in remove(), use simple clk_enable()/clk_disable() calls to enable and disable the clock on runtime suspend and resume, to avoid hitting the prepare_lock mutex.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50006",
                                "url": "https://ubuntu.com/security/CVE-2024-50006",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix i_data_sem unlock order in ext4_ind_migrate()  Fuzzing reports a possible deadlock in jbd2_log_wait_commit.  This issue is triggered when an EXT4_IOC_MIGRATE ioctl is set to require synchronous updates because the file descriptor is opened with O_SYNC. This can lead to the jbd2_journal_stop() function calling jbd2_might_wait_for_commit(), potentially causing a deadlock if the EXT4_IOC_MIGRATE call races with a write(2) system call.  This problem only arises when CONFIG_PROVE_LOCKING is enabled. In this case, the jbd2_might_wait_for_commit macro locks jbd2_handle in the jbd2_journal_stop function while i_data_sem is locked. This triggers lockdep because the jbd2_journal_start function might also lock the same jbd2_handle simultaneously.  Found by Linux Verification Center (linuxtesting.org) with syzkaller.  Rule: add",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 19:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49892",
                                "url": "https://ubuntu.com/security/CVE-2024-49892",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Initialize get_bytes_per_element's default to 1  Variables, used as denominators and maybe not assigned to other values, should not be 0. bytes_per_element_y & bytes_per_element_c are initialized by get_bytes_per_element() which should never return 0.  This fixes 10 DIVIDE_BY_ZERO issues reported by Coverity.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49894",
                                "url": "https://ubuntu.com/security/CVE-2024-49894",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Fix index out of bounds in degamma hardware format translation  Fixes index out of bounds issue in `cm_helper_translate_curve_to_degamma_hw_format` function. The issue could occur when the index 'i' exceeds the number of transfer function points (TRANSFER_FUNC_POINTS).  The fix adds a check to ensure 'i' is within bounds before accessing the transfer function points. If 'i' is out of bounds the function returns false to indicate an error.  Reported by smatch: drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:594 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.red' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:595 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.green' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:596 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.blue' 1025 <= s32max",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49896",
                                "url": "https://ubuntu.com/security/CVE-2024-49896",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Check stream before comparing them  [WHAT & HOW] amdgpu_dm can pass a null stream to dc_is_stream_unchanged. It is necessary to check for null before dereferencing them.  This fixes 1 FORWARD_NULL issue reported by Coverity.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49900",
                                "url": "https://ubuntu.com/security/CVE-2024-49900",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: Fix uninit-value access of new_ea in ea_buffer  syzbot reports that lzo1x_1_do_compress is using uninit-value:  ===================================================== BUG: KMSAN: uninit-value in lzo1x_1_do_compress+0x19f9/0x2510 lib/lzo/lzo1x_compress.c:178  ...  Uninit was stored to memory at:  ea_put fs/jfs/xattr.c:639 [inline]  ...  Local variable ea_buf created at:  __jfs_setxattr+0x5d/0x1ae0 fs/jfs/xattr.c:662  __jfs_xattr_set+0xe6/0x1f0 fs/jfs/xattr.c:934  =====================================================  The reason is ea_buf->new_ea is not initialized properly.  Fix this by using memset to empty its content at the beginning in ea_get().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49902",
                                "url": "https://ubuntu.com/security/CVE-2024-49902",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: check if leafidx greater than num leaves per dmap tree  syzbot report a out of bounds in dbSplit, it because dmt_leafidx greater than num leaves per dmap tree, add a checking for dmt_leafidx in dbFindLeaf.  Shaggy: Modified sanity check to apply to control pages as well as leaf pages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49903",
                                "url": "https://ubuntu.com/security/CVE-2024-49903",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: Fix uaf in dbFreeBits  [syzbot reported] ================================================================== BUG: KASAN: slab-use-after-free in __mutex_lock_common kernel/locking/mutex.c:587 [inline] BUG: KASAN: slab-use-after-free in __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752 Read of size 8 at addr ffff8880229254b0 by task syz-executor357/5216  CPU: 0 UID: 0 PID: 5216 Comm: syz-executor357 Not tainted 6.11.0-rc3-syzkaller-00156-gd7a5aa4b3c00 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024 Call Trace:  <TASK>  __dump_stack lib/dump_stack.c:93 [inline]  dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119  print_address_description mm/kasan/report.c:377 [inline]  print_report+0x169/0x550 mm/kasan/report.c:488  kasan_report+0x143/0x180 mm/kasan/report.c:601  __mutex_lock_common kernel/locking/mutex.c:587 [inline]  __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752  dbFreeBits+0x7ea/0xd90 fs/jfs/jfs_dmap.c:2390  dbFreeDmap fs/jfs/jfs_dmap.c:2089 [inline]  dbFree+0x35b/0x680 fs/jfs/jfs_dmap.c:409  dbDiscardAG+0x8a9/0xa20 fs/jfs/jfs_dmap.c:1650  jfs_ioc_trim+0x433/0x670 fs/jfs/jfs_discard.c:100  jfs_ioctl+0x2d0/0x3e0 fs/jfs/ioctl.c:131  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:907 [inline]  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:893  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  Freed by task 5218:  kasan_save_stack mm/kasan/common.c:47 [inline]  kasan_save_track+0x3f/0x80 mm/kasan/common.c:68  kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579  poison_slab_object+0xe0/0x150 mm/kasan/common.c:240  __kasan_slab_free+0x37/0x60 mm/kasan/common.c:256  kasan_slab_free include/linux/kasan.h:184 [inline]  slab_free_hook mm/slub.c:2252 [inline]  slab_free mm/slub.c:4473 [inline]  kfree+0x149/0x360 mm/slub.c:4594  dbUnmount+0x11d/0x190 fs/jfs/jfs_dmap.c:278  jfs_mount_rw+0x4ac/0x6a0 fs/jfs/jfs_mount.c:247  jfs_remount+0x3d1/0x6b0 fs/jfs/super.c:454  reconfigure_super+0x445/0x880 fs/super.c:1083  vfs_cmd_reconfigure fs/fsopen.c:263 [inline]  vfs_fsconfig_locked fs/fsopen.c:292 [inline]  __do_sys_fsconfig fs/fsopen.c:473 [inline]  __se_sys_fsconfig+0xb6e/0xf80 fs/fsopen.c:345  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  [Analysis] There are two paths (dbUnmount and jfs_ioc_trim) that generate race condition when accessing bmap, which leads to the occurrence of uaf.  Use the lock s_umount to synchronize them, in order to avoid uaf caused by race condition.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49924",
                                "url": "https://ubuntu.com/security/CVE-2024-49924",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fbdev: pxafb: Fix possible use after free in pxafb_task()  In the pxafb_probe function, it calls the pxafb_init_fbinfo function, after which &fbi->task is associated with pxafb_task. Moreover, within this pxafb_init_fbinfo function, the pxafb_blank function within the &pxafb_ops struct is capable of scheduling work.  If we remove the module which will call pxafb_remove to make cleanup, it will call unregister_framebuffer function which can call do_unregister_framebuffer to free fbi->fb through put_fb_info(fb_info), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                                CPU1                                     | pxafb_task pxafb_remove                       | unregister_framebuffer(info)       | do_unregister_framebuffer(fb_info) | put_fb_info(fb_info)               | // free fbi->fb                    | set_ctrlr_state(fbi, state)                                    | __pxafb_lcd_power(fbi, 0)                                    | fbi->lcd_power(on, &fbi->fb.var)                                    | //use fbi->fb  Fix it by ensuring that the work is canceled before proceeding with the cleanup in pxafb_remove.  Note that only root user can remove the driver at runtime.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50007",
                                "url": "https://ubuntu.com/security/CVE-2024-50007",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: asihpi: Fix potential OOB array access  ASIHPI driver stores some values in the static array upon a response from the driver, and its index depends on the firmware.  We shouldn't trust it blindly.  This patch adds a sanity check of the array index to fit in the array size.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 19:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50008",
                                "url": "https://ubuntu.com/security/CVE-2024-50008",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext()  Replace one-element array with a flexible-array member in `struct host_cmd_ds_802_11_scan_ext`.  With this, fix the following warning:  elo 16 17:51:58 surfacebook kernel: ------------[ cut here ]------------ elo 16 17:51:58 surfacebook kernel: memcpy: detected field-spanning write (size 243) of single field \"ext_scan->tlv_buffer\" at drivers/net/wireless/marvell/mwifiex/scan.c:2239 (size 1) elo 16 17:51:58 surfacebook kernel: WARNING: CPU: 0 PID: 498 at drivers/net/wireless/marvell/mwifiex/scan.c:2239 mwifiex_cmd_802_11_scan_ext+0x83/0x90 [mwifiex]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 19:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49995",
                                "url": "https://ubuntu.com/security/CVE-2024-49995",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tipc: guard against string buffer overrun  Smatch reports that copying media_name and if_name to name_parts may overwrite the destination.   .../bearer.c:166 bearer_name_validate() error: strcpy() 'media_name' too large for 'name_parts->media_name' (32 vs 16)  .../bearer.c:167 bearer_name_validate() error: strcpy() 'if_name' too large for 'name_parts->if_name' (1010102 vs 16)  This does seem to be the case so guard against this possibility by using strscpy() and failing if truncation occurs.  Introduced by commit b97bf3fd8f6a (\"[TIPC] Initial merge\")  Compile tested only.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49962",
                                "url": "https://ubuntu.com/security/CVE-2024-49962",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package()  ACPICA commit 4d4547cf13cca820ff7e0f859ba83e1a610b9fd0  ACPI_ALLOCATE_ZEROED() may fail, elements might be NULL and will cause NULL pointer dereference later.  [ rjw: Subject and changelog edits ]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49938",
                                "url": "https://ubuntu.com/security/CVE-2024-49938",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit  Syzbot points out that skb_trim() has a sanity check on the existing length of the skb, which can be uninitialised in some error paths. The intent here is clearly just to reset the length to zero before resubmitting, so switch to calling __skb_set_length(skb, 0) directly. In addition, __skb_set_length() already contains a call to skb_reset_tail_pointer(), so remove the redundant call.  The syzbot report came from ath9k_hif_usb_reg_in_cb(), but there's a similar usage of skb_trim() in ath9k_hif_usb_rx_cb(), change both while we're at it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47740",
                                "url": "https://ubuntu.com/security/CVE-2024-47740",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: Require FMODE_WRITE for atomic write ioctls  The F2FS ioctls for starting and committing atomic writes check for inode_owner_or_capable(), but this does not give LSMs like SELinux or Landlock an opportunity to deny the write access - if the caller's FSUID matches the inode's UID, inode_owner_or_capable() immediately returns true.  There are scenarios where LSMs want to deny a process the ability to write particular files, even files that the FSUID of the process owns; but this can currently partially be bypassed using atomic write ioctls in two ways:   - F2FS_IOC_START_ATOMIC_REPLACE + F2FS_IOC_COMMIT_ATOMIC_WRITE can    truncate an inode to size 0  - F2FS_IOC_START_ATOMIC_WRITE + F2FS_IOC_ABORT_ATOMIC_WRITE can revert    changes another process concurrently made to a file  Fix it by requiring FMODE_WRITE for these operations, just like for F2FS_IOC_MOVE_RANGE. Since any legitimate caller should only be using these ioctls when intending to write into the file, that seems unlikely to break anything.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49944",
                                "url": "https://ubuntu.com/security/CVE-2024-49944",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start  In sctp_listen_start() invoked by sctp_inet_listen(), it should set the sk_state back to CLOSED if sctp_autobind() fails due to whatever reason.  Otherwise, next time when calling sctp_inet_listen(), if sctp_sk(sk)->reuse is already set via setsockopt(SCTP_REUSE_PORT), sctp_sk(sk)->bind_hash will be dereferenced as sk_state is LISTENING, which causes a crash as bind_hash is NULL.    KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]   RIP: 0010:sctp_inet_listen+0x7f0/0xa20 net/sctp/socket.c:8617   Call Trace:    <TASK>    __sys_listen_socket net/socket.c:1883 [inline]    __sys_listen+0x1b7/0x230 net/socket.c:1894    __do_sys_listen net/socket.c:1902 [inline]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49948",
                                "url": "https://ubuntu.com/security/CVE-2024-49948",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: add more sanity checks to qdisc_pkt_len_init()  One path takes care of SKB_GSO_DODGY, assuming skb->len is bigger than hdr_len.  virtio_net_hdr_to_skb() does not fully dissect TCP headers, it only make sure it is at least 20 bytes.  It is possible for an user to provide a malicious 'GSO' packet, total length of 80 bytes.  - 20 bytes of IPv4 header - 60 bytes TCP header - a small gso_size like 8  virtio_net_hdr_to_skb() would declare this packet as a normal GSO packet, because it would see 40 bytes of payload, bigger than gso_size.  We need to make detect this case to not underflow qdisc_skb_cb(skb)->pkt_len.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49949",
                                "url": "https://ubuntu.com/security/CVE-2024-49949",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: avoid potential underflow in qdisc_pkt_len_init() with UFO  After commit 7c6d2ecbda83 (\"net: be more gentle about silly gso requests coming from user\") virtio_net_hdr_to_skb() had sanity check to detect malicious attempts from user space to cook a bad GSO packet.  Then commit cf9acc90c80ec (\"net: virtio_net_hdr_to_skb: count transport header in UFO\") while fixing one issue, allowed user space to cook a GSO packet with the following characteristic :  IPv4 SKB_GSO_UDP, gso_size=3, skb->len = 28.  When this packet arrives in qdisc_pkt_len_init(), we end up with hdr_len = 28 (IPv4 header + UDP header), matching skb->len  Then the following sets gso_segs to 0 :  gso_segs = DIV_ROUND_UP(skb->len - hdr_len,                         shinfo->gso_size);  Then later we set qdisc_skb_cb(skb)->pkt_len to back to zero :/  qdisc_skb_cb(skb)->pkt_len += (gso_segs - 1) * hdr_len;  This leads to the following crash in fq_codel [1]  qdisc_pkt_len_init() is best effort, we only want an estimation of the bytes sent on the wire, not crashing the kernel.  This patch is fixing this particular issue, a following one adds more sanity checks for another potential bug.  [1] [   70.724101] BUG: kernel NULL pointer dereference, address: 0000000000000000 [   70.724561] #PF: supervisor read access in kernel mode [   70.724561] #PF: error_code(0x0000) - not-present page [   70.724561] PGD 10ac61067 P4D 10ac61067 PUD 107ee2067 PMD 0 [   70.724561] Oops: Oops: 0000 [#1] SMP NOPTI [   70.724561] CPU: 11 UID: 0 PID: 2163 Comm: b358537762 Not tainted 6.11.0-virtme #991 [   70.724561] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [   70.724561] RIP: 0010:fq_codel_enqueue (net/sched/sch_fq_codel.c:120 net/sched/sch_fq_codel.c:168 net/sched/sch_fq_codel.c:230) sch_fq_codel [ 70.724561] Code: 24 08 49 c1 e1 06 44 89 7c 24 18 45 31 ed 45 31 c0 31 ff 89 44 24 14 4c 03 8b 90 01 00 00 eb 04 39 ca 73 37 4d 8b 39 83 c7 01 <49> 8b 17 49 89 11 41 8b 57 28 45 8b 5f 34 49 c7 07 00 00 00 00 49 All code ========    0:\t24 08                \tand    $0x8,%al    2:\t49 c1 e1 06          \tshl    $0x6,%r9    6:\t44 89 7c 24 18       \tmov    %r15d,0x18(%rsp)    b:\t45 31 ed             \txor    %r13d,%r13d    e:\t45 31 c0             \txor    %r8d,%r8d   11:\t31 ff                \txor    %edi,%edi   13:\t89 44 24 14          \tmov    %eax,0x14(%rsp)   17:\t4c 03 8b 90 01 00 00 \tadd    0x190(%rbx),%r9   1e:\teb 04                \tjmp    0x24   20:\t39 ca                \tcmp    %ecx,%edx   22:\t73 37                \tjae    0x5b   24:\t4d 8b 39             \tmov    (%r9),%r15   27:\t83 c7 01             \tadd    $0x1,%edi   2a:*\t49 8b 17             \tmov    (%r15),%rdx\t\t<-- trapping instruction   2d:\t49 89 11             \tmov    %rdx,(%r9)   30:\t41 8b 57 28          \tmov    0x28(%r15),%edx   34:\t45 8b 5f 34          \tmov    0x34(%r15),%r11d   38:\t49 c7 07 00 00 00 00 \tmovq   $0x0,(%r15)   3f:\t49                   \trex.WB  Code starting with the faulting instruction ===========================================    0:\t49 8b 17             \tmov    (%r15),%rdx    3:\t49 89 11             \tmov    %rdx,(%r9)    6:\t41 8b 57 28          \tmov    0x28(%r15),%edx    a:\t45 8b 5f 34          \tmov    0x34(%r15),%r11d    e:\t49 c7 07 00 00 00 00 \tmovq   $0x0,(%r15)   15:\t49                   \trex.WB [   70.724561] RSP: 0018:ffff95ae85e6fb90 EFLAGS: 00000202 [   70.724561] RAX: 0000000002000000 RBX: ffff95ae841de000 RCX: 0000000000000000 [   70.724561] RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000001 [   70.724561] RBP: ffff95ae85e6fbf8 R08: 0000000000000000 R09: ffff95b710a30000 [   70.724561] R10: 0000000000000000 R11: bdf289445ce31881 R12: ffff95ae85e6fc58 [   70.724561] R13: 0000000000000000 R14: 0000000000000040 R15: 0000000000000000 [   70.724561] FS:  000000002c5c1380(0000) GS:ffff95bd7fcc0000(0000) knlGS:0000000000000000 [   70.724561] CS:  0010 DS: 0000 ES: 0000 C ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49997",
                                "url": "https://ubuntu.com/security/CVE-2024-49997",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: ethernet: lantiq_etop: fix memory disclosure  When applying padding, the buffer is not zeroed, which results in memory disclosure. The mentioned data is observed on the wire. This patch uses skb_put_padto() to pad Ethernet frames properly. The mentioned function zeroes the expanded buffer.  In case the packet cannot be padded it is silently dropped. Statistics are also not incremented. This driver does not support statistics in the old 32-bit format or the new 64-bit format. These will be added in the future. In its current form, the patch should be easily backported to stable versions.  Ethernet MACs on Amazon-SE and Danube cannot do padding of the packets in hardware, so software padding must be applied.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49952",
                                "url": "https://ubuntu.com/security/CVE-2024-49952",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: prevent nf_skb_duplicated corruption  syzbot found that nf_dup_ipv4() or nf_dup_ipv6() could write per-cpu variable nf_skb_duplicated in an unsafe way [1].  Disabling preemption as hinted by the splat is not enough, we have to disable soft interrupts as well.  [1] BUG: using __this_cpu_write() in preemptible [00000000] code: syz.4.282/6316  caller is nf_dup_ipv4+0x651/0x8f0 net/ipv4/netfilter/nf_dup_ipv4.c:87 CPU: 0 UID: 0 PID: 6316 Comm: syz.4.282 Not tainted 6.11.0-rc7-syzkaller-00104-g7052622fccb1 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 Call Trace:  <TASK>   __dump_stack lib/dump_stack.c:93 [inline]   dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119   check_preemption_disabled+0x10e/0x120 lib/smp_processor_id.c:49   nf_dup_ipv4+0x651/0x8f0 net/ipv4/netfilter/nf_dup_ipv4.c:87   nft_dup_ipv4_eval+0x1db/0x300 net/ipv4/netfilter/nft_dup_ipv4.c:30   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x4ad/0x1da0 net/netfilter/nf_tables_core.c:288   nft_do_chain_ipv4+0x202/0x320 net/netfilter/nft_chain_filter.c:23   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xc3/0x220 net/netfilter/core.c:626   nf_hook+0x2c4/0x450 include/linux/netfilter.h:269   NF_HOOK_COND include/linux/netfilter.h:302 [inline]   ip_output+0x185/0x230 net/ipv4/ip_output.c:433   ip_local_out net/ipv4/ip_output.c:129 [inline]   ip_send_skb+0x74/0x100 net/ipv4/ip_output.c:1495   udp_send_skb+0xacf/0x1650 net/ipv4/udp.c:981   udp_sendmsg+0x1c21/0x2a60 net/ipv4/udp.c:1269   sock_sendmsg_nosec net/socket.c:730 [inline]   __sock_sendmsg+0x1a6/0x270 net/socket.c:745   ____sys_sendmsg+0x525/0x7d0 net/socket.c:2597   ___sys_sendmsg net/socket.c:2651 [inline]   __sys_sendmmsg+0x3b2/0x740 net/socket.c:2737   __do_sys_sendmmsg net/socket.c:2766 [inline]   __se_sys_sendmmsg net/socket.c:2763 [inline]   __x64_sys_sendmmsg+0xa0/0xb0 net/socket.c:2763   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f4ce4f7def9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f4ce5d4a038 EFLAGS: 00000246 ORIG_RAX: 0000000000000133 RAX: ffffffffffffffda RBX: 00007f4ce5135f80 RCX: 00007f4ce4f7def9 RDX: 0000000000000001 RSI: 0000000020005d40 RDI: 0000000000000006 RBP: 00007f4ce4ff0b76 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f4ce5135f80 R15: 00007ffd4cbc6d68  </TASK>",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50179",
                                "url": "https://ubuntu.com/security/CVE-2024-50179",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ceph: remove the incorrect Fw reference check when dirtying pages  When doing the direct-io reads it will also try to mark pages dirty, but for the read path it won't hold the Fw caps and there is case will it get the Fw reference.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49963",
                                "url": "https://ubuntu.com/security/CVE-2024-49963",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mailbox: bcm2835: Fix timeout during suspend mode  During noirq suspend phase the Raspberry Pi power driver suffer of firmware property timeouts. The reason is that the IRQ of the underlying BCM2835 mailbox is disabled and rpi_firmware_property_list() will always run into a timeout [1].  Since the VideoCore side isn't consider as a wakeup source, set the IRQF_NO_SUSPEND flag for the mailbox IRQ in order to keep it enabled during suspend-resume cycle.  [1] PM: late suspend of devices complete after 1.754 msecs WARNING: CPU: 0 PID: 438 at drivers/firmware/raspberrypi.c:128  rpi_firmware_property_list+0x204/0x22c Firmware transaction 0x00028001 timeout Modules linked in: CPU: 0 PID: 438 Comm: bash Tainted: G         C         6.9.3-dirty #17 Hardware name: BCM2835 Call trace: unwind_backtrace from show_stack+0x18/0x1c show_stack from dump_stack_lvl+0x34/0x44 dump_stack_lvl from __warn+0x88/0xec __warn from warn_slowpath_fmt+0x7c/0xb0 warn_slowpath_fmt from rpi_firmware_property_list+0x204/0x22c rpi_firmware_property_list from rpi_firmware_property+0x68/0x8c rpi_firmware_property from rpi_firmware_set_power+0x54/0xc0 rpi_firmware_set_power from _genpd_power_off+0xe4/0x148 _genpd_power_off from genpd_sync_power_off+0x7c/0x11c genpd_sync_power_off from genpd_finish_suspend+0xcc/0xe0 genpd_finish_suspend from dpm_run_callback+0x78/0xd0 dpm_run_callback from device_suspend_noirq+0xc0/0x238 device_suspend_noirq from dpm_suspend_noirq+0xb0/0x168 dpm_suspend_noirq from suspend_devices_and_enter+0x1b8/0x5ac suspend_devices_and_enter from pm_suspend+0x254/0x2e4 pm_suspend from state_store+0xa8/0xd4 state_store from kernfs_fop_write_iter+0x154/0x1a0 kernfs_fop_write_iter from vfs_write+0x12c/0x184 vfs_write from ksys_write+0x78/0xc0 ksys_write from ret_fast_syscall+0x0/0x54 Exception stack(0xcc93dfa8 to 0xcc93dff0) [...] PM: noirq suspend of devices complete after 3095.584 msecs",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-46849",
                                "url": "https://ubuntu.com/security/CVE-2024-46849",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: meson: axg-card: fix 'use-after-free'  Buffer 'card->dai_link' is reallocated in 'meson_card_reallocate_links()', so move 'pad' pointer initialization after this function when memory is already reallocated.  Kasan bug report:  ================================================================== BUG: KASAN: slab-use-after-free in axg_card_add_link+0x76c/0x9bc Read of size 8 at addr ffff000000e8b260 by task modprobe/356  CPU: 0 PID: 356 Comm: modprobe Tainted: G O 6.9.12-sdkernel #1 Call trace:  dump_backtrace+0x94/0xec  show_stack+0x18/0x24  dump_stack_lvl+0x78/0x90  print_report+0xfc/0x5c0  kasan_report+0xb8/0xfc  __asan_load8+0x9c/0xb8  axg_card_add_link+0x76c/0x9bc [snd_soc_meson_axg_sound_card]  meson_card_probe+0x344/0x3b8 [snd_soc_meson_card_utils]  platform_probe+0x8c/0xf4  really_probe+0x110/0x39c  __driver_probe_device+0xb8/0x18c  driver_probe_device+0x108/0x1d8  __driver_attach+0xd0/0x25c  bus_for_each_dev+0xe0/0x154  driver_attach+0x34/0x44  bus_add_driver+0x134/0x294  driver_register+0xa8/0x1e8  __platform_driver_register+0x44/0x54  axg_card_pdrv_init+0x20/0x1000 [snd_soc_meson_axg_sound_card]  do_one_initcall+0xdc/0x25c  do_init_module+0x10c/0x334  load_module+0x24c4/0x26cc  init_module_from_file+0xd4/0x128  __arm64_sys_finit_module+0x1f4/0x41c  invoke_syscall+0x60/0x188  el0_svc_common.constprop.0+0x78/0x13c  do_el0_svc+0x30/0x40  el0_svc+0x38/0x78  el0t_64_sync_handler+0x100/0x12c  el0t_64_sync+0x190/0x194",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-09-27 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47679",
                                "url": "https://ubuntu.com/security/CVE-2024-47679",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  vfs: fix race between evice_inodes() and find_inode()&iput()  Hi, all  Recently I noticed a bug[1] in btrfs, after digged it into and I believe it'a race in vfs.  Let's assume there's a inode (ie ino 261) with i_count 1 is called by iput(), and there's a concurrent thread calling generic_shutdown_super().  cpu0:                              cpu1: iput() // i_count is 1   ->spin_lock(inode)   ->dec i_count to 0   ->iput_final()                    generic_shutdown_super()     ->__inode_add_lru()               ->evict_inodes()       // cause some reason[2]           ->if (atomic_read(inode->i_count)) continue;       // return before                  // inode 261 passed the above check       // list_lru_add_obj()             // and then schedule out    ->spin_unlock() // note here: the inode 261 // was still at sb list and hash list, // and I_FREEING|I_WILL_FREE was not been set  btrfs_iget()   // after some function calls   ->find_inode()     // found the above inode 261     ->spin_lock(inode)    // check I_FREEING|I_WILL_FREE    // and passed       ->__iget()     ->spin_unlock(inode)                // schedule back                                         ->spin_lock(inode)                                         // check (I_NEW|I_FREEING|I_WILL_FREE) flags,                                         // passed and set I_FREEING iput()                                  ->spin_unlock(inode)   ->spin_lock(inode)\t\t\t  ->evict()   // dec i_count to 0   ->iput_final()     ->spin_unlock()     ->evict()  Now, we have two threads simultaneously evicting the same inode, which may trigger the BUG(inode->i_state & I_CLEAR) statement both within clear_inode() and iput().  To fix the bug, recheck the inode->i_count after holding i_lock. Because in the most scenarios, the first check is valid, and the overhead of spin_lock() can be reduced.  If there is any misunderstanding, please let me know, thanks.  [1]: https://lore.kernel.org/linux-btrfs/000000000000eabe1d0619c48986@google.com/ [2]: The reason might be 1. SB_ACTIVE was removed or 2. mapping_shrinkable() return false when I reproduced the bug.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49860",
                                "url": "https://ubuntu.com/security/CVE-2024-49860",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPI: sysfs: validate return type of _STR method  Only buffer objects are valid return values of _STR.  If something else is returned description_show() will access invalid memory.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47742",
                                "url": "https://ubuntu.com/security/CVE-2024-47742",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  firmware_loader: Block path traversal  Most firmware names are hardcoded strings, or are constructed from fairly constrained format strings where the dynamic parts are just some hex numbers or such.  However, there are a couple codepaths in the kernel where firmware file names contain string components that are passed through from a device or semi-privileged userspace; the ones I could find (not counting interfaces that require root privileges) are:   - lpfc_sli4_request_firmware_update() seems to construct the firmware    filename from \"ModelName\", a string that was previously parsed out of    some descriptor (\"Vital Product Data\") in lpfc_fill_vpd()  - nfp_net_fw_find() seems to construct a firmware filename from a model    name coming from nfp_hwinfo_lookup(pf->hwinfo, \"nffw.partno\"), which I    think parses some descriptor that was read from the device.    (But this case likely isn't exploitable because the format string looks    like \"netronome/nic_%s\", and there shouldn't be any *folders* starting    with \"netronome/nic_\". The previous case was different because there,    the \"%s\" is *at the start* of the format string.)  - module_flash_fw_schedule() is reachable from the    ETHTOOL_MSG_MODULE_FW_FLASH_ACT netlink command, which is marked as    GENL_UNS_ADMIN_PERM (meaning CAP_NET_ADMIN inside a user namespace is    enough to pass the privilege check), and takes a userspace-provided    firmware name.    (But I think to reach this case, you need to have CAP_NET_ADMIN over a    network namespace that a special kind of ethernet device is mapped into,    so I think this is not a viable attack path in practice.)  Fix it by rejecting any firmware names containing \"..\" path components.  For what it's worth, I went looking and haven't found any USB device drivers that use the firmware loader dangerously.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47684",
                                "url": "https://ubuntu.com/security/CVE-2024-47684",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tcp: check skb is non-NULL in tcp_rto_delta_us()  We have some machines running stock Ubuntu 20.04.6 which is their 5.4.0-174-generic kernel that are running ceph and recently hit a null ptr dereference in tcp_rearm_rto(). Initially hitting it from the TLP path, but then later we also saw it getting hit from the RACK case as well. Here are examples of the oops messages we saw in each of those cases:  Jul 26 15:05:02 rx [11061395.780353] BUG: kernel NULL pointer dereference, address: 0000000000000020 Jul 26 15:05:02 rx [11061395.787572] #PF: supervisor read access in kernel mode Jul 26 15:05:02 rx [11061395.792971] #PF: error_code(0x0000) - not-present page Jul 26 15:05:02 rx [11061395.798362] PGD 0 P4D 0 Jul 26 15:05:02 rx [11061395.801164] Oops: 0000 [#1] SMP NOPTI Jul 26 15:05:02 rx [11061395.805091] CPU: 0 PID: 9180 Comm: msgr-worker-1 Tainted: G W 5.4.0-174-generic #193-Ubuntu Jul 26 15:05:02 rx [11061395.814996] Hardware name: Supermicro SMC 2x26 os-gen8 64C NVME-Y 256G/H12SSW-NTR, BIOS 2.5.V1.2U.NVMe.UEFI 05/09/2023 Jul 26 15:05:02 rx [11061395.825952] RIP: 0010:tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.830656] Code: 87 ca 04 00 00 00 5b 41 5c 41 5d 5d c3 c3 49 8b bc 24 40 06 00 00 eb 8d 48 bb cf f7 53 e3 a5 9b c4 20 4c 89 ef e8 0c fe 0e 00 <48> 8b 78 20 48 c1 ef 03 48 89 f8 41 8b bc 24 80 04 00 00 48 f7 e3 Jul 26 15:05:02 rx [11061395.849665] RSP: 0018:ffffb75d40003e08 EFLAGS: 00010246 Jul 26 15:05:02 rx [11061395.855149] RAX: 0000000000000000 RBX: 20c49ba5e353f7cf RCX: 0000000000000000 Jul 26 15:05:02 rx [11061395.862542] RDX: 0000000062177c30 RSI: 000000000000231c RDI: ffff9874ad283a60 Jul 26 15:05:02 rx [11061395.869933] RBP: ffffb75d40003e20 R08: 0000000000000000 R09: ffff987605e20aa8 Jul 26 15:05:02 rx [11061395.877318] R10: ffffb75d40003f00 R11: ffffb75d4460f740 R12: ffff9874ad283900 Jul 26 15:05:02 rx [11061395.884710] R13: ffff9874ad283a60 R14: ffff9874ad283980 R15: ffff9874ad283d30 Jul 26 15:05:02 rx [11061395.892095] FS: 00007f1ef4a2e700(0000) GS:ffff987605e00000(0000) knlGS:0000000000000000 Jul 26 15:05:02 rx [11061395.900438] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Jul 26 15:05:02 rx [11061395.906435] CR2: 0000000000000020 CR3: 0000003e450ba003 CR4: 0000000000760ef0 Jul 26 15:05:02 rx [11061395.913822] PKRU: 55555554 Jul 26 15:05:02 rx [11061395.916786] Call Trace: Jul 26 15:05:02 rx [11061395.919488] Jul 26 15:05:02 rx [11061395.921765] ? show_regs.cold+0x1a/0x1f Jul 26 15:05:02 rx [11061395.925859] ? __die+0x90/0xd9 Jul 26 15:05:02 rx [11061395.929169] ? no_context+0x196/0x380 Jul 26 15:05:02 rx [11061395.933088] ? ip6_protocol_deliver_rcu+0x4e0/0x4e0 Jul 26 15:05:02 rx [11061395.938216] ? ip6_sublist_rcv_finish+0x3d/0x50 Jul 26 15:05:02 rx [11061395.943000] ? __bad_area_nosemaphore+0x50/0x1a0 Jul 26 15:05:02 rx [11061395.947873] ? bad_area_nosemaphore+0x16/0x20 Jul 26 15:05:02 rx [11061395.952486] ? do_user_addr_fault+0x267/0x450 Jul 26 15:05:02 rx [11061395.957104] ? ipv6_list_rcv+0x112/0x140 Jul 26 15:05:02 rx [11061395.961279] ? __do_page_fault+0x58/0x90 Jul 26 15:05:02 rx [11061395.965458] ? do_page_fault+0x2c/0xe0 Jul 26 15:05:02 rx [11061395.969465] ? page_fault+0x34/0x40 Jul 26 15:05:02 rx [11061395.973217] ? tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.977313] ? tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.981408] tcp_send_loss_probe+0x10b/0x220 Jul 26 15:05:02 rx [11061395.985937] tcp_write_timer_handler+0x1b4/0x240 Jul 26 15:05:02 rx [11061395.990809] tcp_write_timer+0x9e/0xe0 Jul 26 15:05:02 rx [11061395.994814] ? tcp_write_timer_handler+0x240/0x240 Jul 26 15:05:02 rx [11061395.999866] call_timer_fn+0x32/0x130 Jul 26 15:05:02 rx [11061396.003782] __run_timers.part.0+0x180/0x280 Jul 26 15:05:02 rx [11061396.008309] ? recalibrate_cpu_khz+0x10/0x10 Jul 26 15:05:02 rx [11061396.012841] ? native_x2apic_icr_write+0x30/0x30 Jul 26 15:05:02 rx [11061396.017718] ? lapic_next_even ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47747",
                                "url": "https://ubuntu.com/security/CVE-2024-47747",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition  In the ether3_probe function, a timer is initialized with a callback function ether3_ledoff, bound to &prev(dev)->timer. Once the timer is started, there is a risk of a race condition if the module or device is removed, triggering the ether3_remove function to perform cleanup. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                    CPU1                        |  ether3_ledoff ether3_remove         |   free_netdev(dev);   |   put_devic           |   kfree(dev);         |  |  ether3_outw(priv(dev)->regs.config2 |= CFG2_CTRLO, REG_CONFIG2);                       | // use dev  Fix it by ensuring that the timer is canceled before proceeding with the cleanup in ether3_remove.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47685",
                                "url": "https://ubuntu.com/security/CVE-2024-47685",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()  syzbot reported that nf_reject_ip6_tcphdr_put() was possibly sending garbage on the four reserved tcp bits (th->res1)  Use skb_put_zero() to clear the whole TCP header, as done in nf_reject_ip_tcphdr_put()  BUG: KMSAN: uninit-value in nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255   nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255   nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344   nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288   nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626   nf_hook include/linux/netfilter.h:269 [inline]   NF_HOOK include/linux/netfilter.h:312 [inline]   ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310   __netif_receive_skb_one_core net/core/dev.c:5661 [inline]   __netif_receive_skb+0x1da/0xa00 net/core/dev.c:5775   process_backlog+0x4ad/0xa50 net/core/dev.c:6108   __napi_poll+0xe7/0x980 net/core/dev.c:6772   napi_poll net/core/dev.c:6841 [inline]   net_rx_action+0xa5a/0x19b0 net/core/dev.c:6963   handle_softirqs+0x1ce/0x800 kernel/softirq.c:554   __do_softirq+0x14/0x1a kernel/softirq.c:588   do_softirq+0x9a/0x100 kernel/softirq.c:455   __local_bh_enable_ip+0x9f/0xb0 kernel/softirq.c:382   local_bh_enable include/linux/bottom_half.h:33 [inline]   rcu_read_unlock_bh include/linux/rcupdate.h:908 [inline]   __dev_queue_xmit+0x2692/0x5610 net/core/dev.c:4450   dev_queue_xmit include/linux/netdevice.h:3105 [inline]   neigh_resolve_output+0x9ca/0xae0 net/core/neighbour.c:1565   neigh_output include/net/neighbour.h:542 [inline]   ip6_finish_output2+0x2347/0x2ba0 net/ipv6/ip6_output.c:141   __ip6_finish_output net/ipv6/ip6_output.c:215 [inline]   ip6_finish_output+0xbb8/0x14b0 net/ipv6/ip6_output.c:226   NF_HOOK_COND include/linux/netfilter.h:303 [inline]   ip6_output+0x356/0x620 net/ipv6/ip6_output.c:247   dst_output include/net/dst.h:450 [inline]   NF_HOOK include/linux/netfilter.h:314 [inline]   ip6_xmit+0x1ba6/0x25d0 net/ipv6/ip6_output.c:366   inet6_csk_xmit+0x442/0x530 net/ipv6/inet6_connection_sock.c:135   __tcp_transmit_skb+0x3b07/0x4880 net/ipv4/tcp_output.c:1466   tcp_transmit_skb net/ipv4/tcp_output.c:1484 [inline]   tcp_connect+0x35b6/0x7130 net/ipv4/tcp_output.c:4143   tcp_v6_connect+0x1bcc/0x1e40 net/ipv6/tcp_ipv6.c:333   __inet_stream_connect+0x2ef/0x1730 net/ipv4/af_inet.c:679   inet_stream_connect+0x6a/0xd0 net/ipv4/af_inet.c:750   __sys_connect_file net/socket.c:2061 [inline]   __sys_connect+0x606/0x690 net/socket.c:2078   __do_sys_connect net/socket.c:2088 [inline]   __se_sys_connect net/socket.c:2085 [inline]   __x64_sys_connect+0x91/0xe0 net/socket.c:2085   x64_sys_call+0x27a5/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:43   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was stored to memory at:   nf_reject_ip6_tcphdr_put+0x60c/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:249   nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344   nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288   nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626   nf_hook include/linux/netfilter.h:269 [inline]   NF_HOOK include/linux/netfilter.h:312 [inline]   ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310   __netif_receive_skb_one_core ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47692",
                                "url": "https://ubuntu.com/security/CVE-2024-47692",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfsd: return -EINVAL when namelen is 0  When we have a corrupted main.sqlite in /var/lib/nfs/nfsdcld/, it may result in namelen being 0, which will cause memdup_user() to return ZERO_SIZE_PTR. When we access the name.data that has been assigned the value of ZERO_SIZE_PTR in nfs4_client_to_reclaim(), null pointer dereference is triggered.  [ T1205] ================================================================== [ T1205] BUG: KASAN: null-ptr-deref in nfs4_client_to_reclaim+0xe9/0x260 [ T1205] Read of size 1 at addr 0000000000000010 by task nfsdcld/1205 [ T1205] [ T1205] CPU: 11 PID: 1205 Comm: nfsdcld Not tainted 5.10.0-00003-g2c1423731b8d #406 [ T1205] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-buildvm-ppc64le-16.ppc.fedoraproject.org-3.fc31 04/01/2014 [ T1205] Call Trace: [ T1205]  dump_stack+0x9a/0xd0 [ T1205]  ? nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  __kasan_report.cold+0x34/0x84 [ T1205]  ? nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  kasan_report+0x3a/0x50 [ T1205]  nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  ? nfsd4_release_lockowner+0x410/0x410 [ T1205]  cld_pipe_downcall+0x5ca/0x760 [ T1205]  ? nfsd4_cld_tracking_exit+0x1d0/0x1d0 [ T1205]  ? down_write_killable_nested+0x170/0x170 [ T1205]  ? avc_policy_seqno+0x28/0x40 [ T1205]  ? selinux_file_permission+0x1b4/0x1e0 [ T1205]  rpc_pipe_write+0x84/0xb0 [ T1205]  vfs_write+0x143/0x520 [ T1205]  ksys_write+0xc9/0x170 [ T1205]  ? __ia32_sys_read+0x50/0x50 [ T1205]  ? ktime_get_coarse_real_ts64+0xfe/0x110 [ T1205]  ? ktime_get_coarse_real_ts64+0xa2/0x110 [ T1205]  do_syscall_64+0x33/0x40 [ T1205]  entry_SYSCALL_64_after_hwframe+0x67/0xd1 [ T1205] RIP: 0033:0x7fdbdb761bc7 [ T1205] Code: 0f 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 514 [ T1205] RSP: 002b:00007fff8c4b7248 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ T1205] RAX: ffffffffffffffda RBX: 000000000000042b RCX: 00007fdbdb761bc7 [ T1205] RDX: 000000000000042b RSI: 00007fff8c4b75f0 RDI: 0000000000000008 [ T1205] RBP: 00007fdbdb761bb0 R08: 0000000000000000 R09: 0000000000000001 [ T1205] R10: 0000000000000000 R11: 0000000000000246 R12: 000000000000042b [ T1205] R13: 0000000000000008 R14: 00007fff8c4b75f0 R15: 0000000000000000 [ T1205] ==================================================================  Fix it by checking namelen.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47737",
                                "url": "https://ubuntu.com/security/CVE-2024-47737",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfsd: call cache_put if xdr_reserve_space returns NULL  If not enough buffer space available, but idmap_lookup has triggered lookup_fn which calls cache_get and returns successfully. Then we missed to call cache_put here which pairs with cache_get.  Reviwed-by: Jeff Layton <jlayton@kernel.org>",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2023-52917",
                                "url": "https://ubuntu.com/security/CVE-2023-52917",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()  The debugfs_create_dir() function returns error pointers. It never returns NULL. So use IS_ERR() to check it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47749",
                                "url": "https://ubuntu.com/security/CVE-2024-47749",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cxgb4: Added NULL check for lookup_atid  The lookup_atid() function can return NULL if the ATID is invalid or does not exist in the identifier table, which could lead to dereferencing a null pointer without a check in the `act_establish()` and `act_open_rpl()` functions. Add a NULL check to prevent null pointer dereferencing.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47696",
                                "url": "https://ubuntu.com/security/CVE-2024-47696",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency  In the commit aee2424246f9 (\"RDMA/iwcm: Fix a use-after-free related to destroying CM IDs\"), the function flush_workqueue is invoked to flush the work queue iwcm_wq.  But at that time, the work queue iwcm_wq was created via the function alloc_ordered_workqueue without the flag WQ_MEM_RECLAIM.  Because the current process is trying to flush the whole iwcm_wq, if iwcm_wq doesn't have the flag WQ_MEM_RECLAIM, verify that the current process is not reclaiming memory or running on a workqueue which doesn't have the flag WQ_MEM_RECLAIM as that can break forward-progress guarantee leading to a deadlock.  The call trace is as below:  [  125.350876][ T1430] Call Trace: [  125.356281][ T1430]  <TASK> [ 125.361285][ T1430] ? __warn (kernel/panic.c:693) [ 125.367640][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.375689][ T1430] ? report_bug (lib/bug.c:180 lib/bug.c:219) [ 125.382505][ T1430] ? handle_bug (arch/x86/kernel/traps.c:239) [ 125.388987][ T1430] ? exc_invalid_op (arch/x86/kernel/traps.c:260 (discriminator 1)) [ 125.395831][ T1430] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:621) [ 125.403125][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.410984][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.418764][ T1430] __flush_workqueue (kernel/workqueue.c:3970) [ 125.426021][ T1430] ? __pfx___might_resched (kernel/sched/core.c:10151) [ 125.433431][ T1430] ? destroy_cm_id (drivers/infiniband/core/iwcm.c:375) iw_cm [ 125.441209][ T1430] ? __pfx___flush_workqueue (kernel/workqueue.c:3910) [ 125.473900][ T1430] ? _raw_spin_lock_irqsave (arch/x86/include/asm/atomic.h:107 include/linux/atomic/atomic-arch-fallback.h:2170 include/linux/atomic/atomic-instrumented.h:1302 include/asm-generic/qspinlock.h:111 include/linux/spinlock.h:187 include/linux/spinlock_api_smp.h:111 kernel/locking/spinlock.c:162) [ 125.473909][ T1430] ? __pfx__raw_spin_lock_irqsave (kernel/locking/spinlock.c:161) [ 125.482537][ T1430] _destroy_id (drivers/infiniband/core/cma.c:2044) rdma_cm [ 125.495072][ T1430] nvme_rdma_free_queue (drivers/nvme/host/rdma.c:656 drivers/nvme/host/rdma.c:650) nvme_rdma [ 125.505827][ T1430] nvme_rdma_reset_ctrl_work (drivers/nvme/host/rdma.c:2180) nvme_rdma [ 125.505831][ T1430] process_one_work (kernel/workqueue.c:3231) [ 125.515122][ T1430] worker_thread (kernel/workqueue.c:3306 kernel/workqueue.c:3393) [ 125.515127][ T1430] ? __pfx_worker_thread (kernel/workqueue.c:3339) [ 125.531837][ T1430] kthread (kernel/kthread.c:389) [ 125.539864][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.550628][ T1430] ret_from_fork (arch/x86/kernel/process.c:147) [ 125.558840][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.558844][ T1430] ret_from_fork_asm (arch/x86/entry/entry_64.S:257) [  125.566487][ T1430]  </TASK> [  125.566488][ T1430] ---[ end trace 0000000000000000 ]---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47756",
                                "url": "https://ubuntu.com/security/CVE-2024-47756",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  PCI: keystone: Fix if-statement expression in ks_pcie_quirk()  This code accidentally uses && where || was intended.  It potentially results in a NULL dereference.  Thus, fix the if-statement expression to use the correct condition.  [kwilczynski: commit log]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47697",
                                "url": "https://ubuntu.com/security/CVE-2024-47697",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error  Ensure index in rtl2830_pid_filter does not exceed 31 to prevent out-of-bounds access.  dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47698",
                                "url": "https://ubuntu.com/security/CVE-2024-47698",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error  Ensure index in rtl2832_pid_filter does not exceed 31 to prevent out-of-bounds access.  dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue.  [hverkuil: added fixes tag, rtl2830_pid_filter -> rtl2832_pid_filter in logmsg]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47757",
                                "url": "https://ubuntu.com/security/CVE-2024-47757",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential oob read in nilfs_btree_check_delete()  The function nilfs_btree_check_delete(), which checks whether degeneration to direct mapping occurs before deleting a b-tree entry, causes memory access outside the block buffer when retrieving the maximum key if the root node has no entries.  This does not usually happen because b-tree mappings with 0 child nodes are never created by mkfs.nilfs2 or nilfs2 itself.  However, it can happen if the b-tree root node read from a device is configured that way, so fix this potential issue by adding a check for that case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47699",
                                "url": "https://ubuntu.com/security/CVE-2024-47699",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()  Patch series \"nilfs2: fix potential issues with empty b-tree nodes\".  This series addresses three potential issues with empty b-tree nodes that can occur with corrupted filesystem images, including one recently discovered by syzbot.   This patch (of 3):  If a b-tree is broken on the device, and the b-tree height is greater than 2 (the level of the root node is greater than 1) even if the number of child nodes of the b-tree root is 0, a NULL pointer dereference occurs in nilfs_btree_prepare_insert(), which is called from nilfs_btree_insert().  This is because, when the number of child nodes of the b-tree root is 0, nilfs_btree_do_lookup() does not set the block buffer head in any of path[x].bp_bh, leaving it as the initial value of NULL, but if the level of the b-tree root node is greater than 1, nilfs_btree_get_nonroot_node(), which accesses the buffer memory of path[x].bp_bh, is called.  Fix this issue by adding a check to nilfs_btree_root_broken(), which performs sanity checks when reading the root node from the device, to detect this inconsistency.  Thanks to Lizhi Xu for trying to solve the bug and clarifying the cause early on.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47701",
                                "url": "https://ubuntu.com/security/CVE-2024-47701",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: avoid OOB when system.data xattr changes underneath the filesystem  When looking up for an entry in an inlined directory, if e_value_offs is changed underneath the filesystem by some change in the block device, it will lead to an out-of-bounds access that KASAN detects as an UAF.  EXT4-fs (loop0): mounted filesystem 00000000-0000-0000-0000-000000000000 r/w without journal. Quota mode: none. loop0: detected capacity change from 2048 to 2047 ================================================================== BUG: KASAN: use-after-free in ext4_search_dir+0xf2/0x1c0 fs/ext4/namei.c:1500 Read of size 1 at addr ffff88803e91130f by task syz-executor269/5103  CPU: 0 UID: 0 PID: 5103 Comm: syz-executor269 Not tainted 6.11.0-rc4-syzkaller #0 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 lib/dump_stack.c:93 [inline]  dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119  print_address_description mm/kasan/report.c:377 [inline]  print_report+0x169/0x550 mm/kasan/report.c:488  kasan_report+0x143/0x180 mm/kasan/report.c:601  ext4_search_dir+0xf2/0x1c0 fs/ext4/namei.c:1500  ext4_find_inline_entry+0x4be/0x5e0 fs/ext4/inline.c:1697  __ext4_find_entry+0x2b4/0x1b30 fs/ext4/namei.c:1573  ext4_lookup_entry fs/ext4/namei.c:1727 [inline]  ext4_lookup+0x15f/0x750 fs/ext4/namei.c:1795  lookup_one_qstr_excl+0x11f/0x260 fs/namei.c:1633  filename_create+0x297/0x540 fs/namei.c:3980  do_symlinkat+0xf9/0x3a0 fs/namei.c:4587  __do_sys_symlinkat fs/namei.c:4610 [inline]  __se_sys_symlinkat fs/namei.c:4607 [inline]  __x64_sys_symlinkat+0x95/0xb0 fs/namei.c:4607  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f3e73ced469 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 21 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fff4d40c258 EFLAGS: 00000246 ORIG_RAX: 000000000000010a RAX: ffffffffffffffda RBX: 0032656c69662f2e RCX: 00007f3e73ced469 RDX: 0000000020000200 RSI: 00000000ffffff9c RDI: 00000000200001c0 RBP: 0000000000000000 R08: 00007fff4d40c290 R09: 00007fff4d40c290 R10: 0023706f6f6c2f76 R11: 0000000000000246 R12: 00007fff4d40c27c R13: 0000000000000003 R14: 431bde82d7b634db R15: 00007fff4d40c2b0  </TASK>  Calling ext4_xattr_ibody_find right after reading the inode with ext4_get_inode_loc will lead to a check of the validity of the xattrs, avoiding this problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49851",
                                "url": "https://ubuntu.com/security/CVE-2024-49851",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Clean up TPM space after command failure  tpm_dev_transmit prepares the TPM space before attempting command transmission. However if the command fails no rollback of this preparation is done. This can result in transient handles being leaked if the device is subsequently closed with no further commands performed.  Fix this by flushing the space in the event of command transmission failure.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47723",
                                "url": "https://ubuntu.com/security/CVE-2024-47723",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: fix out-of-bounds in dbNextAG() and diAlloc()  In dbNextAG() , there is no check for the case where bmp->db_numag is greater or same than MAXAG due to a polluted image, which causes an out-of-bounds. Therefore, a bounds check should be added in dbMount().  And in dbNextAG(), a check for the case where agpref is greater than bmp->db_numag should be added, so an out-of-bounds exception should be prevented.  Additionally, a check for the case where agno is greater or same than MAXAG should be added in diAlloc() to prevent out-of-bounds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47706",
                                "url": "https://ubuntu.com/security/CVE-2024-47706",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block, bfq: fix possible UAF for bfqq->bic with merge chain  1) initial state, three tasks:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t\t  |  ?            |  ?\t\t  |  ? \t\t  |  |            |  |\t\t  |  | \t\t  V  |            V  |\t\t  V  | \t\t  bfqq1           bfqq2\t\t  bfqq3 process ref:\t   1\t\t    1\t\t    1  2) bfqq1 merged to bfqq2:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t\t  |               |\t\t  |  ? \t\t  \\--------------\\|\t\t  |  | \t\t                  V\t\t  V  | \t\t  bfqq1--------->bfqq2\t\t  bfqq3 process ref:\t   0\t\t    2\t\t    1  3) bfqq2 merged to bfqq3:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t here -> ?                |\t\t  | \t\t  \\--------------\\ \\-------------\\| \t\t                  V\t\t  V \t\t  bfqq1--------->bfqq2---------->bfqq3 process ref:\t   0\t\t    1\t\t    3  In this case, IO from Process 1 will get bfqq2 from BIC1 first, and then get bfqq3 through merge chain, and finially handle IO by bfqq3. Howerver, current code will think bfqq2 is owned by BIC1, like initial state, and set bfqq2->bic to BIC1.  bfq_insert_request -> by Process 1  bfqq = bfq_init_rq(rq)   bfqq = bfq_get_bfqq_handle_split    bfqq = bic_to_bfqq    -> get bfqq2 from BIC1  bfqq->ref++  rq->elv.priv[0] = bic  rq->elv.priv[1] = bfqq  if (bfqq_process_refs(bfqq) == 1)   bfqq->bic = bic   -> record BIC1 to bfqq2    __bfq_insert_request    new_bfqq = bfq_setup_cooperator    -> get bfqq3 from bfqq2->new_bfqq    bfqq_request_freed(bfqq)    new_bfqq->ref++    rq->elv.priv[1] = new_bfqq    -> handle IO by bfqq3  Fix the problem by checking bfqq is from merge chain fist. And this might fix a following problem reported by our syzkaller(unreproducible):  ================================================================== BUG: KASAN: slab-use-after-free in bfq_do_early_stable_merge block/bfq-iosched.c:5692 [inline] BUG: KASAN: slab-use-after-free in bfq_do_or_sched_stable_merge block/bfq-iosched.c:5805 [inline] BUG: KASAN: slab-use-after-free in bfq_get_queue+0x25b0/0x2610 block/bfq-iosched.c:5889 Write of size 1 at addr ffff888123839eb8 by task kworker/0:1H/18595  CPU: 0 PID: 18595 Comm: kworker/0:1H Tainted: G             L    6.6.0-07439-gba2303cacfda #6 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 Workqueue: kblockd blk_mq_requeue_work Call Trace:  <TASK>  __dump_stack lib/dump_stack.c:88 [inline]  dump_stack_lvl+0x91/0xf0 lib/dump_stack.c:106  print_address_description mm/kasan/report.c:364 [inline]  print_report+0x10d/0x610 mm/kasan/report.c:475  kasan_report+0x8e/0xc0 mm/kasan/report.c:588  bfq_do_early_stable_merge block/bfq-iosched.c:5692 [inline]  bfq_do_or_sched_stable_merge block/bfq-iosched.c:5805 [inline]  bfq_get_queue+0x25b0/0x2610 block/bfq-iosched.c:5889  bfq_get_bfqq_handle_split+0x169/0x5d0 block/bfq-iosched.c:6757  bfq_init_rq block/bfq-iosched.c:6876 [inline]  bfq_insert_request block/bfq-iosched.c:6254 [inline]  bfq_insert_requests+0x1112/0x5cf0 block/bfq-iosched.c:6304  blk_mq_insert_request+0x290/0x8d0 block/blk-mq.c:2593  blk_mq_requeue_work+0x6bc/0xa70 block/blk-mq.c:1502  process_one_work kernel/workqueue.c:2627 [inline]  process_scheduled_works+0x432/0x13f0 kernel/workqueue.c:2700  worker_thread+0x6f2/0x1160 kernel/workqueue.c:2781  kthread+0x33c/0x440 kernel/kthread.c:388  ret_from_fork+0x4d/0x80 arch/x86/kernel/process.c:147  ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:305  </TASK>  Allocated by task 20776:  kasan_save_stack+0x20/0x40 mm/kasan/common.c:45  kasan_set_track+0x25/0x30 mm/kasan/common.c:52  __kasan_slab_alloc+0x87/0x90 mm/kasan/common.c:328  kasan_slab_alloc include/linux/kasan.h:188 [inline]  slab_post_alloc_hook mm/slab.h:763 [inline]  slab_alloc_node mm/slub.c:3458 [inline]  kmem_cache_alloc_node+0x1a4/0x6f0 mm/slub.c:3503  ioc_create_icq block/blk-ioc.c:370 [inline] ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47709",
                                "url": "https://ubuntu.com/security/CVE-2024-47709",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  can: bcm: Clear bo->bcm_proc_read after remove_proc_entry().  syzbot reported a warning in bcm_release(). [0]  The blamed change fixed another warning that is triggered when connect() is issued again for a socket whose connect()ed device has been unregistered.  However, if the socket is just close()d without the 2nd connect(), the remaining bo->bcm_proc_read triggers unnecessary remove_proc_entry() in bcm_release().  Let's clear bo->bcm_proc_read after remove_proc_entry() in bcm_notify().  [0] name '4986' WARNING: CPU: 0 PID: 5234 at fs/proc/generic.c:711 remove_proc_entry+0x2e7/0x5d0 fs/proc/generic.c:711 Modules linked in: CPU: 0 UID: 0 PID: 5234 Comm: syz-executor606 Not tainted 6.11.0-rc5-syzkaller-00178-g5517ae241919 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 RIP: 0010:remove_proc_entry+0x2e7/0x5d0 fs/proc/generic.c:711 Code: ff eb 05 e8 cb 1e 5e ff 48 8b 5c 24 10 48 c7 c7 e0 f7 aa 8e e8 2a 38 8e 09 90 48 c7 c7 60 3a 1b 8c 48 89 de e8 da 42 20 ff 90 <0f> 0b 90 90 48 8b 44 24 18 48 c7 44 24 40 0e 36 e0 45 49 c7 04 07 RSP: 0018:ffffc9000345fa20 EFLAGS: 00010246 RAX: 2a2d0aee2eb64600 RBX: ffff888032f1f548 RCX: ffff888029431e00 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffc9000345fb08 R08: ffffffff8155b2f2 R09: 1ffff1101710519a R10: dffffc0000000000 R11: ffffed101710519b R12: ffff888011d38640 R13: 0000000000000004 R14: 0000000000000000 R15: dffffc0000000000 FS:  0000000000000000(0000) GS:ffff8880b8800000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fcfb52722f0 CR3: 000000000e734000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  bcm_release+0x250/0x880 net/can/bcm.c:1578  __sock_release net/socket.c:659 [inline]  sock_close+0xbc/0x240 net/socket.c:1421  __fput+0x24a/0x8a0 fs/file_table.c:422  task_work_run+0x24f/0x310 kernel/task_work.c:228  exit_task_work include/linux/task_work.h:40 [inline]  do_exit+0xa2f/0x27f0 kernel/exit.c:882  do_group_exit+0x207/0x2c0 kernel/exit.c:1031  __do_sys_exit_group kernel/exit.c:1042 [inline]  __se_sys_exit_group kernel/exit.c:1040 [inline]  __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1040  x64_sys_call+0x2634/0x2640 arch/x86/include/generated/asm/syscalls_64.h:232  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fcfb51ee969 Code: Unable to access opcode bytes at 0x7fcfb51ee93f. RSP: 002b:00007ffce0109ca8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7 RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007fcfb51ee969 RDX: 000000000000003c RSI: 00000000000000e7 RDI: 0000000000000001 RBP: 00007fcfb526f3b0 R08: ffffffffffffffb8 R09: 0000555500000000 R10: 0000555500000000 R11: 0000000000000246 R12: 00007fcfb526f3b0 R13: 0000000000000000 R14: 00007fcfb5271ee0 R15: 00007fcfb51bf160  </TASK>",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47710",
                                "url": "https://ubuntu.com/security/CVE-2024-47710",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sock_map: Add a cond_resched() in sock_hash_free()  Several syzbot soft lockup reports all have in common sock_hash_free()  If a map with a large number of buckets is destroyed, we need to yield the cpu when needed.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47712",
                                "url": "https://ubuntu.com/security/CVE-2024-47712",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: wilc1000: fix potential RCU dereference issue in wilc_parse_join_bss_param  In the `wilc_parse_join_bss_param` function, the TSF field of the `ies` structure is accessed after the RCU read-side critical section is unlocked. According to RCU usage rules, this is illegal. Reusing this pointer can lead to unpredictable behavior, including accessing memory that has been updated or causing use-after-free issues.  This possible bug was identified using a static analysis tool developed by myself, specifically designed to detect RCU-related issues.  To address this, the TSF value is now stored in a local variable `ies_tsf` before the RCU lock is released. The `param->tsf_lo` field is then assigned using this local variable, ensuring that the TSF value is safely accessed.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47713",
                                "url": "https://ubuntu.com/security/CVE-2024-47713",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()  Since '__dev_queue_xmit()' should be called with interrupts enabled, the following backtrace:  ieee80211_do_stop()  ...  spin_lock_irqsave(&local->queue_stop_reason_lock, flags)  ...  ieee80211_free_txskb()   ieee80211_report_used_skb()    ieee80211_report_ack_skb()     cfg80211_mgmt_tx_status_ext()      nl80211_frame_tx_status()       genlmsg_multicast_netns()        genlmsg_multicast_netns_filtered()         nlmsg_multicast_filtered() \t netlink_broadcast_filtered() \t  do_one_broadcast() \t   netlink_broadcast_deliver() \t    __netlink_sendskb() \t     netlink_deliver_tap() \t      __netlink_deliver_tap_skb() \t       dev_queue_xmit() \t        __dev_queue_xmit() ; with IRQS disabled  ...  spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags)  issues the warning (as reported by syzbot reproducer):  WARNING: CPU: 2 PID: 5128 at kernel/softirq.c:362 __local_bh_enable_ip+0xc3/0x120  Fix this by implementing a two-phase skb reclamation in 'ieee80211_do_stop()', where actual work is performed outside of a section with interrupts disabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47671",
                                "url": "https://ubuntu.com/security/CVE-2024-47671",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  USB: usbtmc: prevent kernel-usb-infoleak  The syzbot reported a kernel-usb-infoleak in usbtmc_write, we need to clear the structure before filling fields.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-09 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-44931",
                                "url": "https://ubuntu.com/security/CVE-2024-44931",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gpio: prevent potential speculation leaks in gpio_device_get_desc()  Userspace may trigger a speculative read of an address outside the gpio descriptor array. Users can do that by calling gpio_ioctl() with an offset out of range. Offset is copied from user and then used as an array index to get the gpio descriptor without sanitization in gpio_device_get_desc().  This change ensures that the offset is sanitized by using array_index_nospec() to mitigate any possibility of speculative information leaks.  This bug was discovered and resolved using Coverity Static Analysis Security Testing (SAST) by Synopsys, Inc.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-08-26 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-41016",
                                "url": "https://ubuntu.com/security/CVE-2024-41016",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry()  xattr in ocfs2 maybe 'non-indexed', which saved with additional space requested.  It's better to check if the memory is out of bound before memcmp, although this possibility mainly comes from crafted poisonous images.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-29 07:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47670",
                                "url": "https://ubuntu.com/security/CVE-2024-47670",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: add bounds checking to ocfs2_xattr_find_entry()  Add a paranoia check to make sure it doesn't stray beyond valid memory region containing ocfs2 xattr entries when scanning for a match.  It will prevent out-of-bound access in case of crafted images.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-09 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47672",
                                "url": "https://ubuntu.com/security/CVE-2024-47672",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead  There is a WARNING in iwl_trans_wait_tx_queues_empty() (that was recently converted from just a message), that can be hit if we wait for TX queues to become empty after firmware died. Clearly, we can't expect anything from the firmware after it's declared dead.  Don't call iwl_trans_wait_tx_queues_empty() in this case. While it could be a good idea to stop the flow earlier, the flush functions do some maintenance work that is not related to the firmware, so keep that part of the code running even when the firmware is not running.  [edit commit message]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-09 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-46853",
                                "url": "https://ubuntu.com/security/CVE-2024-46853",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: nxp-fspi: fix the KASAN report out-of-bounds bug  Change the memcpy length to fix the out-of-bounds issue when writing the data that is not 4 byte aligned to TX FIFO.  To reproduce the issue, write 3 bytes data to NOR chip.  dd if=3b of=/dev/mtd0 [   36.926103] ================================================================== [   36.933409] BUG: KASAN: slab-out-of-bounds in nxp_fspi_exec_op+0x26ec/0x2838 [   36.940514] Read of size 4 at addr ffff00081037c2a0 by task dd/455 [   36.946721] [   36.948235] CPU: 3 UID: 0 PID: 455 Comm: dd Not tainted 6.11.0-rc5-gc7b0e37c8434 #1070 [   36.956185] Hardware name: Freescale i.MX8QM MEK (DT) [   36.961260] Call trace: [   36.963723]  dump_backtrace+0x90/0xe8 [   36.967414]  show_stack+0x18/0x24 [   36.970749]  dump_stack_lvl+0x78/0x90 [   36.974451]  print_report+0x114/0x5cc [   36.978151]  kasan_report+0xa4/0xf0 [   36.981670]  __asan_report_load_n_noabort+0x1c/0x28 [   36.986587]  nxp_fspi_exec_op+0x26ec/0x2838 [   36.990800]  spi_mem_exec_op+0x8ec/0xd30 [   36.994762]  spi_mem_no_dirmap_read+0x190/0x1e0 [   36.999323]  spi_mem_dirmap_write+0x238/0x32c [   37.003710]  spi_nor_write_data+0x220/0x374 [   37.007932]  spi_nor_write+0x110/0x2e8 [   37.011711]  mtd_write_oob_std+0x154/0x1f0 [   37.015838]  mtd_write_oob+0x104/0x1d0 [   37.019617]  mtd_write+0xb8/0x12c [   37.022953]  mtdchar_write+0x224/0x47c [   37.026732]  vfs_write+0x1e4/0x8c8 [   37.030163]  ksys_write+0xec/0x1d0 [   37.033586]  __arm64_sys_write+0x6c/0x9c [   37.037539]  invoke_syscall+0x6c/0x258 [   37.041327]  el0_svc_common.constprop.0+0x160/0x22c [   37.046244]  do_el0_svc+0x44/0x5c [   37.049589]  el0_svc+0x38/0x78 [   37.052681]  el0t_64_sync_handler+0x13c/0x158 [   37.057077]  el0t_64_sync+0x190/0x194 [   37.060775] [   37.062274] Allocated by task 455: [   37.065701]  kasan_save_stack+0x2c/0x54 [   37.069570]  kasan_save_track+0x20/0x3c [   37.073438]  kasan_save_alloc_info+0x40/0x54 [   37.077736]  __kasan_kmalloc+0xa0/0xb8 [   37.081515]  __kmalloc_noprof+0x158/0x2f8 [   37.085563]  mtd_kmalloc_up_to+0x120/0x154 [   37.089690]  mtdchar_write+0x130/0x47c [   37.093469]  vfs_write+0x1e4/0x8c8 [   37.096901]  ksys_write+0xec/0x1d0 [   37.100332]  __arm64_sys_write+0x6c/0x9c [   37.104287]  invoke_syscall+0x6c/0x258 [   37.108064]  el0_svc_common.constprop.0+0x160/0x22c [   37.112972]  do_el0_svc+0x44/0x5c [   37.116319]  el0_svc+0x38/0x78 [   37.119401]  el0t_64_sync_handler+0x13c/0x158 [   37.123788]  el0t_64_sync+0x190/0x194 [   37.127474] [   37.128977] The buggy address belongs to the object at ffff00081037c2a0 [   37.128977]  which belongs to the cache kmalloc-8 of size 8 [   37.141177] The buggy address is located 0 bytes inside of [   37.141177]  allocated 3-byte region [ffff00081037c2a0, ffff00081037c2a3) [   37.153465] [   37.154971] The buggy address belongs to the physical page: [   37.160559] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x89037c [   37.168596] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff) [   37.175149] page_type: 0xfdffffff(slab) [   37.179021] raw: 0bfffe0000000000 ffff000800002500 dead000000000122 0000000000000000 [   37.186788] raw: 0000000000000000 0000000080800080 00000001fdffffff 0000000000000000 [   37.194553] page dumped because: kasan: bad access detected [   37.200144] [   37.201647] Memory state around the buggy address: [   37.206460]  ffff00081037c180: fa fc fc fc fa fc fc fc fa fc fc fc fa fc fc fc [   37.213701]  ffff00081037c200: fa fc fc fc 05 fc fc fc 03 fc fc fc 02 fc fc fc [   37.220946] >ffff00081037c280: 06 fc fc fc 03 fc fc fc fc fc fc fc fc fc fc fc [   37.228186]                                ^ [   37.232473]  ffff00081037c300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [   37.239718]  ffff00081037c380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [   37.246962] ============================================================== ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-09-27 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-46854",
                                "url": "https://ubuntu.com/security/CVE-2024-46854",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: dpaa: Pad packets to ETH_ZLEN  When sending packets under 60 bytes, up to three bytes of the buffer following the data may be leaked. Avoid this by extending all packets to ETH_ZLEN, ensuring nothing is leaked in the padding. This bug can be reproduced by running  \t$ ping -s 11 destination",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-09-27 13:15:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * focal/linux-kvm: 5.4.0-1127.136 -proposed tracker (LP: #2093775)",
                            "",
                            "  * Add list of source files to linux-buildinfo (LP: #2086606)",
                            "    - [Packaging] kvm: Add dwarfdump dependency",
                            "",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233)",
                            "    - [Config] kvm: updateconfigs to select PROC_MEM_ALWAYS_FORCE",
                            "",
                            "  [ Ubuntu: 5.4.0-207.227 ]",
                            "",
                            "  * focal/linux: 5.4.0-207.227 -proposed tracker (LP: #2095347)",
                            "  * Remove \"ftrace: Fix possible use-after-free issue in ftrace_location()\" bad",
                            "    commit from focal (LP: #2095348)",
                            "    - Revert \"ftrace: Fix possible use-after-free issue in ftrace_location()\"",
                            "",
                            "  [ Ubuntu: 5.4.0-206.226 ]",
                            "",
                            "  * focal/linux: 5.4.0-206.226 -proposed tracker (LP: #2093785)",
                            "  * nouveau keeps showing `disp: ctrl 00000080` and crippling the system",
                            "    (LP: #2078011)",
                            "    - drm/nouveau/disp/gv100-: halt NV_PDISP_FE_RM_INTR_STAT_CTRL_DISP_ERROR",
                            "      storms",
                            "    - drm/nouveau/kms/gv100-: move window ownership setup into modesetting path",
                            "    - drm/nouveau/kms/gv100-: avoid sending a core update until the first modeset",
                            "  * CVE-2024-43863",
                            "    - drm/vmwgfx: Fix a deadlock in dma buf fence polling",
                            "  * CVE-2024-40911",
                            "    - wifi: cfg80211: Lock wiphy in cfg80211_get_station",
                            "  * CVE-2024-35896",
                            "    - netfilter: validate user input for expected length",
                            "    - netfilter: complete validation of user input",
                            "  * CVE-2023-52458",
                            "    - block: add check that partition length needs to be aligned with block size",
                            "  * kernel:nft \"Could not process rule: Device or resource busy\" on unreferenced",
                            "    chain (LP: #2089699)",
                            "    - SAUCE: netfilter: nf_tables: Fix EBUSY on deleting unreferenced chain",
                            "  * CVE-2024-35887",
                            "    - lockdep: Add preemption enabled/disabled assertion APIs",
                            "    - timers: Don't block on ->expiry_lock for TIMER_IRQSAFE timers",
                            "    - Documentation: Remove bogus claim about del_timer_sync()",
                            "    - ARM: spear: Do not use timer namespace for timer_shutdown() function",
                            "    - clocksource/drivers/arm_arch_timer: Do not use timer namespace for",
                            "      timer_shutdown() function",
                            "    - clocksource/drivers/sp804: Do not use timer namespace for timer_shutdown()",
                            "      function",
                            "    - timers: Get rid of del_singleshot_timer_sync()",
                            "    - timers: Replace BUG_ON()s",
                            "    - timers: Rename del_timer() to timer_delete()",
                            "    - Documentation: Replace del_timer/del_timer_sync()",
                            "    - timers: Silently ignore timers with a NULL function",
                            "    - timers: Split [try_to_]del_timer[_sync]() to prepare for shutdown mode",
                            "    - timers: Add shutdown mechanism to the internal functions",
                            "    - timers: Provide timer_shutdown[_sync]()",
                            "    - timers: Update the documentation to reflect on the new timer_shutdown() API",
                            "    - ax25: fix use-after-free bugs caused by ax25_ds_del_timer",
                            "  * CVE-2024-40965",
                            "    - clk: Add a devm variant of clk_rate_exclusive_get()",
                            "    - clk: Provide !COMMON_CLK dummy for devm_clk_rate_exclusive_get()",
                            "    - i2c: lpi2c: Avoid calling clk_get_rate during transfer",
                            "  * CVE-2024-40982",
                            "    - ssb: Fix potential NULL pointer dereference in ssb_device_uevent()",
                            "  * CVE-2024-41066",
                            "    - ibmvnic: Add tx check to prevent skb leak",
                            "  * CVE-2024-42252",
                            "    - closures: Change BUG_ON() to WARN_ON()",
                            "  * CVE-2024-46731",
                            "    - drm/amd/pm: fix the Out-of-bounds read warning",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558)",
                            "    - arm64: dts: rockchip: Fix rt5651 compatible value on rk3399-sapphire-",
                            "      excavator",
                            "    - arm64: dts: rockchip: Remove hdmi's 2nd interrupt on rk3328",
                            "    - arm64: dts: rockchip: Fix bluetooth properties on Rock960 boards",
                            "    - arm64: dts: rockchip: Remove #cooling-cells from fan on Theobroma lion",
                            "    - ARM: dts: rockchip: fix rk3036 acodec node",
                            "    - ARM: dts: rockchip: drop grf reference from rk3036 hdmi",
                            "    - ARM: dts: rockchip: Fix the spi controller on rk3036",
                            "    - ARM: dts: rockchip: Fix the realtek audio codec on rk3036-kylin",
                            "    - enetc: simplify the return expression of enetc_vf_set_mac_addr()",
                            "    - net: enetc: set MAC address to the VF net_device",
                            "    - can: c_can: fix {rx,tx}_errors statistics",
                            "    - media: stb0899_algo: initialize cfr before using it",
                            "    - media: dvb_frontend: don't play tricks with underflow values",
                            "    - media: adv7604: prevent underflow condition when reporting colorspace",
                            "    - ALSA: firewire-lib: fix return value on fail in amdtp_tscm_init()",
                            "    - pwm: imx-tpm: Use correct MODULO value for EPWM mode",
                            "    - drm/amdgpu: prevent NULL pointer dereference if ATIF is not supported",
                            "    - dm cache: correct the number of origin blocks to match the target length",
                            "    - dm cache: optimize dirty bit checking with find_next_bit when resizing",
                            "    - dm-unstriped: cast an operand to sector_t to prevent potential uint32_t",
                            "      overflow",
                            "    - mtd: rawnand: protect access to rawnand devices while in suspend",
                            "    - spi: fix use-after-free of the add_lock mutex",
                            "    - media: uvcvideo: Skip parsing frames of type UVC_VS_UNDEFINED in",
                            "      uvc_parse_format",
                            "    - fs/proc: fix compile warning about variable 'vmcore_mmap_ops'",
                            "    - USB: serial: qcserial: add support for Sierra Wireless EM86xx",
                            "    - USB: serial: option: add Fibocom FG132 0x0112 composition",
                            "    - USB: serial: option: add Quectel RG650V",
                            "    - irqchip/gic-v3: Force propagation of the active state with a read-back",
                            "    - ALSA: usb-audio: Support jack detection on Dell dock",
                            "    - ALSA: usb-audio: Add quirks for Dell WD19 dock",
                            "    - NFSD: Fix NFSv4's PUTPUBFH operation",
                            "    - ALSA: usb-audio: Add endianness annotations",
                            "    - 9p: Avoid creating multiple slab caches with the same name",
                            "    - HID: multitouch: Add quirk for HONOR MagicBook Art 14 touchpad",
                            "    - bpf: use kvzmalloc to allocate BPF verifier environment",
                            "    - sound: Make CONFIG_SND depend on INDIRECT_IOMEM instead of UML",
                            "    - powerpc/powernv: Free name on error in opal_event_init()",
                            "    - fs: Fix uninitialized value issue in from_kuid and from_kgid",
                            "    - net: usb: qmi_wwan: add Fibocom FG132 0x0112 composition",
                            "    - md/raid10: improve code of mrdev in raid10_sync_request",
                            "    - mm: clarify a confusing comment for remap_pfn_range()",
                            "    - mm: fix ambiguous comments for better code readability",
                            "    - mm/memory.c: make remap_pfn_range() reject unaligned addr",
                            "    - mm: add remap_pfn_range_notrack",
                            "    - 9p: fix slab cache name creation for real",
                            "    - Linux 5.4.286",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-47674",
                            "    - mm: avoid leaving partial pfn mappings around in error case",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-38588",
                            "    - ftrace: Fix possible use-after-free issue in ftrace_location()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50265",
                            "    - ocfs2: remove entry once instead of null-ptr-dereference in",
                            "      ocfs2_xa_remove()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50267",
                            "    - USB: serial: io_edgeport: fix use after free in debug printk",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50269",
                            "    - usb: musb: sunxi: Fix accessing an released usb phy",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2021-47469",
                            "    - spi: Fix deadlock when adding SPI controllers on SPI buses",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50273",
                            "    - btrfs: reinitialize delayed ref list after deleting it from the list",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-53066",
                            "    - nfs: Fix KMSAN warning in decode_getfattr_attrs()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50278",
                            "    - dm cache: fix potential out-of-bounds access on the first resume",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50279",
                            "    - dm cache: fix out-of-bounds access to the dirty bitset when resizing",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50282",
                            "    - drm/amdgpu: add missing size check in amdgpu_debugfs_gprwave_read()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50287",
                            "    - media: v4l2-tpg: prevent the risk of a division by zero",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50290",
                            "    - media: cx24116: prevent overflows on SNR calculus",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-53061",
                            "    - media: s5p-jpeg: prevent buffer overflows",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-53063",
                            "    - media: dvbdev: prevent the risk of out of memory access",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50296",
                            "    - net: hns3: fix kernel crash when uninstalling driver",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50299",
                            "    - sctp: properly validate chunk size in sctp_sf_ootb()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50301",
                            "    - security/keys: fix slab-out-of-bounds in key_task_permission",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50302",
                            "    - HID: core: zero-initialize the report buffer",
                            "  * Add list of source files to linux-buildinfo (LP: #2086606)",
                            "    - [Packaging] Sort build dependencies alphabetically",
                            "    - [Packaging] Add list of used source files to buildinfo package",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233)",
                            "    - usbnet: ipheth: fix carrier detection in modes 1 and 4",
                            "    - net: ethernet: use ip_hdrlen() instead of bit shift",
                            "    - net: phy: vitesse: repair vsc73xx autonegotiation",
                            "    - scripts: kconfig: merge_config: config files: add a trailing newline",
                            "    - arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399",
                            "      Puma",
                            "    - ice: fix accounting for filters shared by multiple VSIs",
                            "    - net/mlx5e: Add missing link modes to ptys2ethtool_map",
                            "    - net: ftgmac100: Enable TX interrupt to avoid TX timeout",
                            "    - soundwire: stream: Revert \"soundwire: stream: fix programming slave ports",
                            "      for non-continous port maps\"",
                            "    - selftests: breakpoints: Fix a typo of function name",
                            "    - ASoC: allow module autoloading for table db1200_pids",
                            "    - ALSA: hda/realtek - Fixed ALC256 headphone no sound",
                            "    - ALSA: hda/realtek - FIxed ALC285 headphone no sound",
                            "    - pinctrl: at91: make it work with current gpiolib",
                            "    - microblaze: don't treat zero reserved memory regions as error",
                            "    - net: ftgmac100: Ensure tx descriptor updates are visible",
                            "    - wifi: iwlwifi: mvm: fix iwl_mvm_max_scan_ie_fw_cmd_room()",
                            "    - ASoC: tda7419: fix module autoloading",
                            "    - drm: komeda: Fix an issue related to normalized zpos",
                            "    - spi: bcm63xx: Enable module autoloading",
                            "    - x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency",
                            "    - USB: serial: pl2303: add device id for Macrosilicon MS3020",
                            "    - ACPI: PMIC: Remove unneeded check in tps68470_pmic_opregion_probe()",
                            "    - wifi: ath9k: fix parameter check in ath9k_init_debug()",
                            "    - wifi: ath9k: Remove error checks when creating debugfs entries",
                            "    - fs: explicitly unregister per-superblock BDIs",
                            "    - mount: warn only once about timestamp range expiration",
                            "    - fs/namespace: fnic: Switch to use %ptTd",
                            "    - mount: handle OOM on mnt_warn_timestamp_expiry",
                            "    - can: j1939: use correct function name in comment",
                            "    - netfilter: nf_tables: elements with timeout below CONFIG_HZ never expire",
                            "    - netfilter: nf_tables: reject element expiration with no timeout",
                            "    - netfilter: nf_tables: reject expiration higher than timeout",
                            "    - wifi: cfg80211: fix UBSAN noise in cfg80211_wext_siwscan()",
                            "    - wifi: cfg80211: fix two more possible UBSAN-detected off-by-one errors",
                            "    - mac80211: parse radiotap header when selecting Tx queue",
                            "    - Bluetooth: btusb: Fix not handling ZPL/short-transfer",
                            "    - net: tipc: avoid possible garbage value",
                            "    - block, bfq: choose the last bfqq from merge chain in bfq_setup_cooperator()",
                            "    - block, bfq: don't break merge chain in bfq_split_bfqq()",
                            "    - spi: ppc4xx: handle irq_of_parse_and_map() errors",
                            "    - spi: ppc4xx: Avoid returning 0 when failed to parse and map IRQ",
                            "    - ARM: dts: imx7d-zii-rmu2: fix Ethernet PHY pinctrl property",
                            "    - ARM: versatile: fix OF node leak in CPUs prepare",
                            "    - reset: berlin: fix OF node leak in probe() error path",
                            "    - clocksource/drivers/qcom: Add missing iounmap() on errors in",
                            "      msm_dt_timer_init()",
                            "    - hwmon: (max16065) Fix overflows seen when writing limits",
                            "    - mtd: slram: insert break after errors in parsing the map",
                            "    - hwmon: (ntc_thermistor) fix module autoloading",
                            "    - power: supply: axp20x_battery: allow disabling battery charging",
                            "    - power: supply: axp20x_battery: Remove design from min and max voltage",
                            "    - power: supply: max17042_battery: Fix SOC threshold calc w/ no current sense",
                            "    - fbdev: hpfb: Fix an error handling path in hpfb_dio_probe()",
                            "    - mtd: powernv: Add check devm_kasprintf() returned value",
                            "    - drm/stm: Fix an error handling path in stm_drm_platform_probe()",
                            "    - drm/amdgpu: Replace one-element array with flexible-array member",
                            "    - drm/amdgpu: properly handle vbios fake edid sizing",
                            "    - drm/radeon: Replace one-element array with flexible-array member",
                            "    - drm/radeon: properly handle vbios fake edid sizing",
                            "    - drm/rockchip: vop: Allow 4096px width scaling",
                            "    - drm/rockchip: dw_hdmi: Fix reading EDID when using a forced mode",
                            "    - drm/radeon/evergreen_cs: fix int overflow errors in cs track offsets",
                            "    - drm/msm: Fix incorrect file name output in adreno_request_fw()",
                            "    - drm/msm/a5xx: disable preemption in submits by default",
                            "    - drm/msm/a5xx: properly clear preemption records on resume",
                            "    - drm/msm/a5xx: fix races in preemption evaluation stage",
                            "    - ipmi: docs: don't advertise deprecated sysfs entries",
                            "    - drm/msm: fix %s null argument error",
                            "    - drivers:drm:exynos_drm_gsc:Fix wrong assignment in gsc_bind()",
                            "    - xen: use correct end address of kernel for conflict checking",
                            "    - xen/swiotlb: add alignment check for dma buffers",
                            "    - selftests/bpf: Fix compile error from rlim_t in sk_storage_map.c",
                            "    - selftests/bpf: Fix compiling flow_dissector.c with musl-libc",
                            "    - selftests/bpf: Fix compiling tcp_rtt.c with musl-libc",
                            "    - selftests/bpf: Fix error compiling test_lru_map.c",
                            "    - xz: cleanup CRC32 edits from 2018",
                            "    - kthread: add kthread_work tracepoints",
                            "    - kthread: fix task state in kthread worker if being frozen",
                            "    - ext4: clear EXT4_GROUP_INFO_WAS_TRIMMED_BIT even mount with discard",
                            "    - smackfs: Use rcu_assign_pointer() to ensure safe assignment in smk_set_cipso",
                            "    - ext4: avoid negative min_clusters in find_group_orlov()",
                            "    - ext4: return error on ext4_find_inline_entry",
                            "    - nilfs2: determine empty node blocks as corrupted",
                            "    - bpf: Fix bpf_strtol and bpf_strtoul helpers for 32bit",
                            "    - perf sched timehist: Fix missing free of session in perf_sched__timehist()",
                            "    - perf sched timehist: Fixed timestamp error when unable to confirm event",
                            "      sched_in time",
                            "    - perf time-utils: Fix 32-bit nsec parsing",
                            "    - clk: rockchip: Set parent rate for DCLK_VOP clock on RK3228",
                            "    - PCI: xilinx-nwl: Fix register misspelling",
                            "    - pinctrl: single: fix missing error code in pcs_probe()",
                            "    - clk: ti: dra7-atl: Fix leak of of_nodes",
                            "    - pinctrl: mvebu: Fix devinit_dove_pinctrl_probe function",
                            "    - watchdog: imx_sc_wdt: Don't disable WDT in suspend",
                            "    - RDMA/hns: Optimize hem allocation performance",
                            "    - riscv: Fix fp alignment bug in perf_callchain_user()",
                            "    - f2fs: enhance to update i_mode and acl atomically in f2fs_setattr()",
                            "    - f2fs: fix typo",
                            "    - f2fs: fix to update i_ctime in __f2fs_setxattr()",
                            "    - f2fs: remove unneeded check condition in __f2fs_setxattr()",
                            "    - f2fs: reduce expensive checkpoint trigger frequency",
                            "    - iio: adc: ad7606: fix oversampling gpio array",
                            "    - iio: adc: ad7606: fix standby gpio state to match the documentation",
                            "    - coresight: tmc: sg: Do not leak sg_table",
                            "    - net: qrtr: Update packets cloning when broadcasting",
                            "    - netfilter: ctnetlink: compile ctnetlink_label_size with",
                            "      CONFIG_NF_CONNTRACK_EVENTS",
                            "    - Remove *.orig pattern from .gitignore",
                            "    - soc: versatile: integrator: fix OF node leak in probe() error path",
                            "    - drm/amd/display: Round calculated vtotal",
                            "    - USB: appledisplay: close race between probe and completion handler",
                            "    - USB: misc: cypress_cy7c63: check for short transfer",
                            "    - USB: class: CDC-ACM: fix race between get_serial and set_serial",
                            "    - tty: rp2: Fix reset with non forgiving PCIe host bridges",
                            "    - drbd: Fix atomicity violation in drbd_uuid_set_bm()",
                            "    - drbd: Add NULL check for net_conf to prevent dereference in state validation",
                            "    - ACPI: resource: Add another DMI match for the TongFang GMxXGxx",
                            "    - wifi: rtw88: 8822c: Fix reported RX band width",
                            "    - debugobjects: Fix conditions in fill_pool()",
                            "    - f2fs: prevent possible int overflow in dir_block_index()",
                            "    - f2fs: avoid potential int overflow in sanity_check_area_boundary()",
                            "    - hwrng: mtk - Use devm_pm_runtime_enable",
                            "    - fs: Fix file_set_fowner LSM hook inconsistencies",
                            "    - nfs: fix memory leak in error path of nfs4_do_reclaim",
                            "    - ASoC: meson: axg: extract sound card utils",
                            "    - [Config] updateconfigs for SND_MESON_CARD_UTILS",
                            "    - PCI: xilinx-nwl: Use irq_data_get_irq_chip_data()",
                            "    - PCI: xilinx-nwl: Fix off-by-one in INTx IRQ handler",
                            "    - soc: versatile: realview: fix memory leak during device remove",
                            "    - soc: versatile: realview: fix soc_dev leak during device remove",
                            "    - usb: yurex: Replace snprintf() with the safer scnprintf() variant",
                            "    - USB: misc: yurex: fix race between read and write",
                            "    - pps: remove usage of the deprecated ida_simple_xx() API",
                            "    - pps: add an error check in parport_attach",
                            "    - mm: only enforce minimum stack gap size if it's sensible",
                            "    - i2c: aspeed: Update the stop sw state when the bus recovery occurs",
                            "    - i2c: isch: Add missed 'else'",
                            "    - usb: yurex: Fix inconsistent locking bug in yurex_read()",
                            "    - mailbox: rockchip: fix a typo in module autoloading",
                            "    - Minor fixes to the CAIF Transport drivers Kconfig file",
                            "    - drivers: net: Fix Kconfig indentation, continued",
                            "    - ieee802154: Fix build error",
                            "    - net/mlx5: Added cond_resched() to crdump collection",
                            "    - netfilter: uapi: NFTA_FLOWTABLE_HOOK is NLA_NESTED",
                            "    - net: ieee802154: mcr20a: Use IRQF_NO_AUTOEN flag in request_irq()",
                            "    - Bluetooth: btmrvl_sdio: Refactor irq wakeup",
                            "    - Bluetooth: btmrvl: Use IRQF_NO_AUTOEN flag in request_irq()",
                            "    - ipv4: ip_gre: Fix drops of small packets in ipgre_xmit",
                            "    - ALSA: hda/realtek: Fix the push button function for the ALC257",
                            "    - ALSA: hda/generic: Unconditionally prefer preferred_dacs pairs",
                            "    - ALSA: hda/conexant: Fix conflicting quirk for System76 Pangolin",
                            "    - wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats()",
                            "    - ice: Adjust over allocation of memory in ice_sched_add_root_node() and",
                            "      ice_sched_add_node()",
                            "    - net: hisilicon: hip04: fix OF node leak in probe()",
                            "    - net: hisilicon: hns_dsaf_mac: fix OF node leak in hns_mac_get_info()",
                            "    - net: hisilicon: hns_mdio: fix OF node leak in probe()",
                            "    - ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails",
                            "    - ACPICA: Fix memory leak if acpi_ps_get_next_field() fails",
                            "    - net: sched: consistently use rcu_replace_pointer() in taprio_change()",
                            "    - wifi: rtw88: select WANT_DEV_COREDUMP",
                            "    - ACPI: EC: Do not release locks during operation region accesses",
                            "    - net: mvpp2: Increase size of queue_name buffer",
                            "    - ipv4: Check !in_dev earlier for ioctl(SIOCSIFADDR).",
                            "    - ipv4: Mask upper DSCP bits and ECN bits in NETLINK_FIB_LOOKUP family",
                            "    - tcp: avoid reusing FIN_WAIT2 when trying to find port in connect() process",
                            "    - ACPICA: iasl: handle empty connection_node",
                            "    - proc: add config & param to block forcing mem writes",
                            "    - [Config] updateconfigs to select PROC_MEM_ALWAYS_FORCE",
                            "    - nfp: Use IRQF_NO_AUTOEN flag in request_irq()",
                            "    - signal: Replace BUG_ON()s",
                            "    - ALSA: hdsp: Break infinite MIDI input flush loop",
                            "    - x86/syscall: Avoid memcpy() for ia32 syscall_get_arguments()",
                            "    - power: reset: brcmstb: Do not go into infinite loop if reset fails",
                            "    - ata: sata_sil: Rename sil_blacklist to sil_quirks",
                            "    - jfs: UBSAN: shift-out-of-bounds in dbFindBits",
                            "    - drm/printer: Allow NULL data in devcoredump printer",
                            "    - scsi: aacraid: Rearrange order of struct aac_srb_unit",
                            "    - drm/radeon/r100: Handle unknown family in r100_cp_init_microcode()",
                            "    - of/irq: Refer to actual buffer size in of_irq_parse_one()",
                            "    - ext4: ext4_search_dir should return a proper error",
                            "    - spi: s3c64xx: fix timeout counters in flush_fifo",
                            "    - selftests: breakpoints: use remaining time to check if suspend succeed",
                            "    - selftests: vDSO: fix vDSO symbols lookup for powerpc64",
                            "    - i2c: xiic: Wait for TX empty to avoid missed TX NAKs",
                            "    - firmware: tegra: bpmp: Drop unused mbox_client_to_bpmp()",
                            "    - spi: bcm63xx: Fix module autoloading",
                            "    - perf/core: Fix small negative period being ignored",
                            "    - parisc: Fix itlb miss handler for 64-bit programs",
                            "    - drm: Consistently use struct drm_mode_rect for FB_DAMAGE_CLIPS",
                            "    - ALSA: core: add isascii() check to card ID generator",
                            "    - ext4: propagate errors from ext4_find_extent() in ext4_insert_range()",
                            "    - ext4: fix incorrect tid assumption in __jbd2_log_wait_for_space()",
                            "    - ext4: fix incorrect tid assumption in ext4_wait_for_tail_page_commit()",
                            "    - parisc: Fix 64-bit userspace syscall path",
                            "    - parisc: Fix stack start for ADDR_NO_RANDOMIZE personality",
                            "    - of/irq: Support #msi-cells=<0> in of_msi_get_domain",
                            "    - mm: krealloc: consider spare memory for __GFP_ZERO",
                            "    - ocfs2: fix the la space leak when unmounting an ocfs2 volume",
                            "    - ocfs2: fix uninit-value in ocfs2_get_block()",
                            "    - riscv: define ILLEGAL_POINTER_VALUE for 64bit",
                            "    - clk: rockchip: fix error for unknown clocks",
                            "    - media: sun4i_csi: Implement link validate for sun4i_csi subdev",
                            "    - media: uapi/linux/cec.h: cec_msg_set_reply_to: zero flags",
                            "    - iio: magnetometer: ak8975: Fix reading for ak099xx sensors",
                            "    - tomoyo: fallback to realpath if symlink's pathname does not exist",
                            "    - rtc: at91sam9: fix OF node leak in probe() error path",
                            "    - Input: adp5589-keys - fix adp5589_gpio_get_value()",
                            "    - ACPI: resource: Add Asus Vivobook X1704VAP to irq1_level_low_skip_override[]",
                            "    - ACPI: resource: Add Asus ExpertBook B2502CVA to",
                            "      irq1_level_low_skip_override[]",
                            "    - gpio: davinci: fix lazy disable",
                            "    - i2c: qcom-geni: Let firmware specify irq trigger flags",
                            "    - i2c: qcom-geni: Grow a dev pointer to simplify code",
                            "    - i2c: qcom-geni: Use IRQF_NO_AUTOEN flag in request_irq()",
                            "    - arm64: Add Cortex-715 CPU part definition",
                            "    - arm64: cputype: Add Neoverse-N3 definitions",
                            "    - arm64: errata: Expand speculative SSBS workaround once more",
                            "    - nfsd: use ktime_get_seconds() for timestamps",
                            "    - nfsd: fix delegation_blocked() to block correctly for at least 30 seconds",
                            "    - clk: qcom: rpmh: Simplify clk_rpmh_bcm_send_cmd()",
                            "    - clk: qcom: clk-rpmh: Fix overflow in BCM vote",
                            "    - r8169: Fix spelling mistake: \"tx_underun\" -> \"tx_underrun\"",
                            "    - ACPI: battery: Simplify battery hook locking",
                            "    - ext4: fix inode tree inconsistency caused by ENOMEM",
                            "    - net: ethernet: cortina: Drop TSO support",
                            "    - tracing: Remove precision vsnprintf() check from print event",
                            "    - drm/crtc: fix uninitialized variable use even harder",
                            "    - tracing: Have saved_cmdlines arrays all in one allocation",
                            "    - virtio_console: fix misc probe bugs",
                            "    - Input: synaptics-rmi4 - fix UAF of IRQ domain on driver removal",
                            "    - bpf: Check percpu map value size first",
                            "    - s390/facility: Disable compile time optimization for decompressor code",
                            "    - s390/mm: Add cond_resched() to cmm_alloc/free_pages()",
                            "    - ext4: nested locking for xattr inode",
                            "    - s390/cpum_sf: Remove WARN_ON_ONCE statements",
                            "    - ktest.pl: Avoid false positives with grub2 skip regex",
                            "    - clk: bcm: bcm53573: fix OF node leak in init",
                            "    - PCI: Add ACS quirk for Qualcomm SA8775P",
                            "    - i2c: i801: Use a different adapter-name for IDF adapters",
                            "    - PCI: Mark Creative Labs EMU20k2 INTx masking as broken",
                            "    - media: videobuf2-core: clear memory related fields in",
                            "      __vb2_plane_dmabuf_put()",
                            "    - usb: chipidea: udc: enable suspend interrupt after usb reset",
                            "    - usb: dwc2: Adjust the timing of USB Driver Interrupt Registration in the",
                            "      Crashkernel Scenario",
                            "    - tools/iio: Add memory allocation failure check for trigger_name",
                            "    - driver core: bus: Return -EIO instead of 0 when show/store invalid bus",
                            "      attribute",
                            "    - ice: fix VLAN replay after reset",
                            "    - SUNRPC: Fix integer overflow in decode_rc_list()",
                            "    - tcp: fix to allow timestamp undo if no retransmits were sent",
                            "    - tcp: fix tcp_enter_recovery() to zero retrans_stamp when it's safe",
                            "    - gpio: aspeed: Add the flush write to ensure the write complete.",
                            "    - gpio: aspeed: Use devm_clk api to manage clock source",
                            "    - net: ibm: emac: mal: fix wrong goto",
                            "    - net: annotate lockless accesses to sk->sk_ack_backlog",
                            "    - net: annotate lockless accesses to sk->sk_max_ack_backlog",
                            "    - sctp: ensure sk_state is set to CLOSED if hashing fails in sctp_listen_start",
                            "    - locking/lockdep: Fix bad recursion pattern",
                            "    - locking/lockdep: Rework lockdep_lock",
                            "    - locking/lockdep: Avoid potential access of invalid memory in lock_class",
                            "    - lockdep: fix deadlock issue between lockdep and rcu",
                            "    - HID: plantronics: Workaround for an unexcepted opposite volume key",
                            "    - Revert \"usb: yurex: Replace snprintf() with the safer scnprintf() variant\"",
                            "    - usb: dwc3: core: Stop processing of pending events if controller is halted",
                            "    - usb: xhci: Fix problem with xhci resume from suspend",
                            "    - usb: storage: ignore bogus device raised by JieLi BR21 USB sound chip",
                            "    - hid: intel-ish-hid: Fix uninitialized variable 'rv' in",
                            "      ish_fw_xfer_direct_dma",
                            "    - arm64: probes: Fix simulate_ldr*_literal()",
                            "    - tracing/kprobes: Return EADDRNOTAVAIL when func matches several symbols",
                            "    - tracing/kprobes: Fix symbol counting logic by looking at modules as well",
                            "    - PCI: Add function 0 DMA alias quirk for Glenfly Arise chip",
                            "    - fat: fix uninitialized variable",
                            "    - s390/sclp_vt220: Convert newlines to CRLF instead of LFCR",
                            "    - KVM: s390: Change virtual to physical address access in diag 0x258 handler",
                            "    - x86/cpufeatures: Define X86_FEATURE_AMD_IBPB_RET",
                            "    - drm/vmwgfx: Handle surface check failure correctly",
                            "    - iio: dac: ltc1660: add missing select REGMAP_SPI in Kconfig",
                            "    - iio: dac: stm32-dac-core: add missing select REGMAP_MMIO in Kconfig",
                            "    - iio: adc: ti-ads8688: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig",
                            "    - iio: hid-sensors: Fix an error handling path in",
                            "      _hid_sensor_set_report_latency()",
                            "    - iio: light: opt3001: add missing full-scale range value",
                            "    - iio: proximity: mb1232: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig",
                            "    - iio: adc: ti-ads124s08: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig",
                            "    - Bluetooth: Remove debugfs directory on module init failure",
                            "    - Bluetooth: btusb: Fix regression with fake CSR controllers 0a12:0001",
                            "    - xhci: Fix incorrect stream context type macro",
                            "    - USB: serial: option: add support for Quectel EG916Q-GL",
                            "    - USB: serial: option: add Telit FN920C04 MBIM compositions",
                            "    - x86/resctrl: Annotate get_mem_config() functions as __init",
                            "    - x86/apic: Always explicitly disarm TSC-deadline timer",
                            "    - mac80211: Fix NULL ptr deref for injected rate info",
                            "    - RDMA/bnxt_re: Fix incorrect AVID type in WQE structure",
                            "    - ARM: dts: bcm2837-rpi-cm3-io3: Fix HDMI hpd-gpio pin",
                            "    - RDMA/cxgb4: Fix RDMA_CM_EVENT_UNREACHABLE error for iWARP",
                            "    - ipv4: give an IPv4 dev to blackhole_netdev",
                            "    - RDMA/bnxt_re: Return more meaningful error",
                            "    - drm/msm/dsi: fix 32-bit signed integer extension in pclk_rate calculation",
                            "    - macsec: don't increment counters for an unrelated SA",
                            "    - net: ethernet: aeroflex: fix potential memory leak in",
                            "      greth_start_xmit_gbit()",
                            "    - genetlink: hold RCU in genlmsg_mcast()",
                            "    - arm64:uprobe fix the uprobe SWBP_INSN in big-endian",
                            "    - KVM: s390: gaccess: Check if guest address is in memslot",
                            "    - jfs: Fix sanity check in dbMount",
                            "    - net: usb: usbnet: fix name regression",
                            "    - r8169: avoid unsolicited interrupts",
                            "    - posix-clock: posix-clock: Fix unbalanced locking in pc_clock_settime()",
                            "    - ALSA: hda/realtek: Update default depop procedure",
                            "    - ACPI: resource: Add LG 16T90SP to irq1_level_low_skip_override[]",
                            "    - ACPI: button: Add DMI quirk for Samsung Galaxy Book2 to fix initial lid",
                            "      detection issue",
                            "    - ALSA: hda/realtek: Add subwoofer quirk for Acer Predator G9-593",
                            "    - hv_netvsc: Fix VF namespace also in synthetic NIC NETDEV_REGISTER event",
                            "    - selinux: improve error checking in sel_write_load()",
                            "    - arm64/uprobes: change the uprobe_opcode_t typedef to fix the sparse warning",
                            "    - cgroup: Fix potential overflow issue when checking max_depth",
                            "    - wifi: mac80211: skip non-uploaded keys in ieee80211_iter_keys",
                            "    - mac80211: do drv_reconfig_complete() before restarting all",
                            "    - mac80211: Add support to trigger sta disconnect on hardware restart",
                            "    - wifi: iwlwifi: mvm: disconnect station vifs if recovery failed",
                            "    - ASoC: cs42l51: Fix some error handling paths in cs42l51_probe()",
                            "    - dt-bindings: gpu: Convert Samsung Image Rotator to dt-schema",
                            "    - gtp: simplify error handling code in 'gtp_encap_enable()'",
                            "    - gtp: allow -1 to be specified as file description from userspace",
                            "    - net: support ip generic csum processing in skb_csum_hwoffload_help",
                            "    - net: skip offload for NETIF_F_IPV6_CSUM if ipv6 header contains extension",
                            "    - drivers/misc: ti-st: Remove unneeded variable in st_tty_open",
                            "    - firmware: arm_sdei: Fix the input parameter of cpuhp_remove_state()",
                            "    - net: amd: mvme147: Fix probe banner message",
                            "    - misc: sgi-gru: Don't disable preemption in GRU driver",
                            "    - usbip: tools: Fix detach_port() invalid port error path",
                            "    - usb: phy: Fix API devm_usb_put_phy() can not release the phy",
                            "    - xhci: Fix Link TRB DMA in command ring stopped completion event",
                            "    - Revert \"driver core: Fix uevent_show() vs driver detach race\"",
                            "    - riscv: Remove unused GENERATING_ASM_OFFSETS",
                            "    - Revert \"drm/mipi-dsi: Set the fwnode for mipi_dsi_device\"",
                            "    - vt: prevent kernel-infoleak in con_font_get()",
                            "    - mac80211: always have ieee80211_sta_restart()",
                            "    - mm: krealloc: Fix MTE false alarm in __do_krealloc",
                            "    - Linux 5.4.285",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50228",
                            "    - mm: shmem: fix data-race in shmem_getattr()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50230",
                            "    - nilfs2: fix kernel bug due to missing clearing of checked flag",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50218",
                            "    - ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50229",
                            "    - nilfs2: fix potential deadlock with newly created symlinks",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50233",
                            "    - staging: iio: frequency: ad9832: fix division by zero in",
                            "      ad9832_calc_freqreg()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50234",
                            "    - wifi: iwlegacy: Clear stale interrupts before resuming device",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50236",
                            "    - wifi: ath10k: Fix memory leak in management tx",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50237",
                            "    - wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50251",
                            "    - netfilter: nft_payload: sanitize offset and length before calling",
                            "      skb_checksum()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50262",
                            "    - bpf: Fix out-of-bounds write in trie_get_next_key()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-53059",
                            "    - wifi: iwlwifi: mvm: Fix response handling in iwl_mvm_send_recovery_cmd()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50142",
                            "    - xfrm: validate new SA's prefixlen using SA family when sel.family is unset",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50116",
                            "    - nilfs2: fix kernel bug due to missing clearing of buffer delay flag",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50117",
                            "    - drm/amd: Guard against bad data for ATIF ACPI method",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50205",
                            "    - ALSA: firewire-lib: Avoid division by zero in apply_constraint_to_size()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50127",
                            "    - net: sched: fix use-after-free in taprio_change()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50167",
                            "    - be2net: fix potential memory leak in be_xmit()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50168",
                            "    - net/sun3_82586: fix potential memory leak in sun3_82586_send_packet()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50131",
                            "    - tracing: Consider the NULL character when validating the event length",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50143",
                            "    - udf: fix uninit-value use in udf_get_fileshortad",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50134",
                            "    - drm/vboxvideo: Replace fake VLA at end of vbva_mouse_pointer_shape with real",
                            "      VLA",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50194",
                            "    - arm64: probes: Fix uprobes for big-endian kernels",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50148",
                            "    - Bluetooth: bnep: fix wild-memory-access in proto_unregister",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50150",
                            "    - usb: typec: altmode should keep reference to parent",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50151",
                            "    - smb: client: fix OOBs when building SMB2_IOCTL request",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50171",
                            "    - net: systemport: fix potential memory leak in bcm_sysport_xmit()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50202",
                            "    - nilfs2: propagate directory read errors from nilfs_find_entry()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50074",
                            "    - parport: Proper fix for array out-of-bounds access",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50082",
                            "    - blk-rq-qos: fix crash on rq_qos_wait vs. rq_qos_wake_function race",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-40953",
                            "    - KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50199",
                            "    - mm/swapfile: skip HugeTLB pages for unuse_vma",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50099",
                            "    - arm64: probes: Remove broken LDR (literal) uprobe support",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50195",
                            "    - posix-clock: Fix missing timespec64 check in pc_clock_settime()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50096",
                            "    - nouveau/dmem: Fix vulnerability in migrate_to_ram upon copy error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50024",
                            "    - net: Fix an unsafe loop on the list",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49878",
                            "    - resource: fix region_intersects() vs add_memory_driver_managed()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50033",
                            "    - slip: make slhc_remember() more robust against malicious packets",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50035",
                            "    - ppp: fix ppp_async_encode() illegal access",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50039",
                            "    - net/sched: accept TCA_STAB only for root qdisc",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50040",
                            "    - igb: Do not bring the device up after non-fatal error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50044",
                            "    - Bluetooth: RFCOMM: FIX possible deadlock in rfcomm_sk_state_change",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50045",
                            "    - netfilter: br_netfilter: fix panic with metadata_dst skb",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-38544",
                            "    - RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50180",
                            "    - fbdev: sisfb: Fix strbuf array overflow",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50184",
                            "    - virtio_pmem: Check device status before requesting flush",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50059",
                            "    - ntb: ntb_hw_switchtec: Fix use after free vulnerability in",
                            "      switchtec_ntb_remove due to race condition",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50089",
                            "    - unicode: Don't special case ignorable code points",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49955",
                            "    - ACPI: battery: Fix possible crash when unregistering a battery hook",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49973",
                            "    - r8169: add tally counter fields added with RTL8125",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49975",
                            "    - uprobes: fix kernel info leak via \"[uprobes]\" vma",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49867",
                            "    - btrfs: wait for fixup workers before stopping cleaner kthread during umount",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49868",
                            "    - btrfs: fix a NULL pointer dereference when failed to start a new trasacntion",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49981",
                            "    - media: venus: fix use after free bug in venus_remove due to race condition",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49982",
                            "    - aoe: fix the potential use-after-free problem in more places",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49877",
                            "    - ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49957",
                            "    - ocfs2: fix null-ptr-deref when journal load failed.",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49965",
                            "    - ocfs2: remove unreasonable unlock in ocfs2_read_blocks",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49966",
                            "    - ocfs2: cancel dqi_sync_work before freeing oinfo",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49958",
                            "    - ocfs2: reserve space for inline xattr before attaching reflink tree",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49959",
                            "    - jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49879",
                            "    - drm: omapdrm: Add missing check for alloc_ordered_workqueue",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49882",
                            "    - ext4: fix double brelse() the buffer of the extents path",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49883",
                            "    - ext4: aovid use-after-free in ext4_ext_insert_extent()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49985",
                            "    - i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50006",
                            "    - ext4: fix i_data_sem unlock order in ext4_ind_migrate()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49892",
                            "    - drm/amd/display: Initialize get_bytes_per_element's default to 1",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49894",
                            "    - drm/amd/display: Fix index out of bounds in degamma hardware format",
                            "      translation",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49896",
                            "    - drm/amd/display: Check stream before comparing them",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49900",
                            "    - jfs: Fix uninit-value access of new_ea in ea_buffer",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49902",
                            "    - jfs: check if leafidx greater than num leaves per dmap tree",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49903",
                            "    - jfs: Fix uaf in dbFreeBits",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49924",
                            "    - fbdev: pxafb: Fix possible use after free in pxafb_task()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50007",
                            "    - ALSA: asihpi: Fix potential OOB array access",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50008",
                            "    - wifi: mwifiex: Fix memcpy() field-spanning write warning in",
                            "      mwifiex_cmd_802_11_scan_ext()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49995",
                            "    - tipc: guard against string buffer overrun",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49962",
                            "    - ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in",
                            "      acpi_db_convert_to_package()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49938",
                            "    - wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47740",
                            "    - f2fs: Require FMODE_WRITE for atomic write ioctls",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49944",
                            "    - sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49948",
                            "    - net: add more sanity checks to qdisc_pkt_len_init()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49949",
                            "    - net: avoid potential underflow in qdisc_pkt_len_init() with UFO",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49997",
                            "    - net: ethernet: lantiq_etop: fix memory disclosure",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49952",
                            "    - netfilter: nf_tables: prevent nf_skb_duplicated corruption",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50179",
                            "    - ceph: remove the incorrect Fw reference check when dirtying pages",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49963",
                            "    - mailbox: bcm2835: Fix timeout during suspend mode",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-46849",
                            "    - ASoC: meson: axg-card: fix 'use-after-free'",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47679",
                            "    - vfs: fix race between evice_inodes() and find_inode()&iput()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49860",
                            "    - ACPI: sysfs: validate return type of _STR method",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47742",
                            "    - firmware_loader: Block path traversal",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47684",
                            "    - tcp: check skb is non-NULL in tcp_rto_delta_us()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47747",
                            "    - net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race",
                            "      Condition",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47685",
                            "    - netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47692",
                            "    - nfsd: return -EINVAL when namelen is 0",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47737",
                            "    - nfsd: call cache_put if xdr_reserve_space returns NULL",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2023-52917",
                            "    - ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47749",
                            "    - RDMA/cxgb4: Added NULL check for lookup_atid",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47696",
                            "    - RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47756",
                            "    - PCI: keystone: Fix if-statement expression in ks_pcie_quirk()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47697",
                            "    - drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47698",
                            "    - drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47757",
                            "    - nilfs2: fix potential oob read in nilfs_btree_check_delete()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47699",
                            "    - nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47701",
                            "    - ext4: avoid OOB when system.data xattr changes underneath the filesystem",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49851",
                            "    - tpm: Clean up TPM space after command failure",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47723",
                            "    - jfs: fix out-of-bounds in dbNextAG() and diAlloc()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47706",
                            "    - block, bfq: fix possible UAF for bfqq->bic with merge chain",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47709",
                            "    - can: bcm: Clear bo->bcm_proc_read after remove_proc_entry().",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47710",
                            "    - sock_map: Add a cond_resched() in sock_hash_free()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47712",
                            "    - wifi: wilc1000: fix potential RCU dereference issue in",
                            "      wilc_parse_join_bss_param",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47713",
                            "    - wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47671",
                            "    - USB: usbtmc: prevent kernel-usb-infoleak",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-44931",
                            "    - gpio: prevent potential speculation leaks in gpio_device_get_desc()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-41016",
                            "    - ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47670",
                            "    - ocfs2: add bounds checking to ocfs2_xattr_find_entry()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47672",
                            "    - wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-46853",
                            "    - spi: nxp-fspi: fix the KASAN report out-of-bounds bug",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-46854",
                            "    - net: dpaa: Pad packets to ETH_ZLEN",
                            ""
                        ],
                        "package": "linux-kvm",
                        "version": "5.4.0-1127.136",
                        "urgency": "medium",
                        "distributions": "focal",
                        "launchpad_bugs_fixed": [
                            2093775,
                            2086606,
                            2089233,
                            2095347,
                            2095348,
                            2093785,
                            2078011,
                            2089699,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2086606,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233
                        ],
                        "author": "Koichiro Den <koichiro.den@canonical.com>",
                        "date": "Thu, 06 Feb 2025 23:47:16 +0900"
                    }
                ],
                "notes": "linux-kvm-headers-5.4.0-1127 version '5.4.0-1127.136' (source package linux-kvm version '5.4.0-1127.136') was added. linux-kvm-headers-5.4.0-1127 version '5.4.0-1127.136' has the same source package name, linux-kvm, as removed package linux-headers-5.4.0-1126-kvm. As such we can use the source package version of the removed package, '5.4.0-1126.134', 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."
            },
            {
                "name": "linux-modules-5.4.0-1127-kvm",
                "from_version": {
                    "source_package_name": "linux-kvm",
                    "source_package_version": "5.4.0-1126.134",
                    "version": null
                },
                "to_version": {
                    "source_package_name": "linux-kvm",
                    "source_package_version": "5.4.0-1127.136",
                    "version": "5.4.0-1127.136"
                },
                "cves": [
                    {
                        "cve": "CVE-2024-43863",
                        "url": "https://ubuntu.com/security/CVE-2024-43863",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/vmwgfx: Fix a deadlock in dma buf fence polling  Introduce a version of the fence ops that on release doesn't remove the fence from the pending list, and thus doesn't require a lock to fix poll->fence wait->fence unref deadlocks.  vmwgfx overwrites the wait callback to iterate over the list of all fences and update their status, to do that it holds a lock to prevent the list modifcations from other threads. The fence destroy callback both deletes the fence and removes it from the list of pending fences, for which it holds a lock.  dma buf polling cb unrefs a fence after it's been signaled: so the poll calls the wait, which signals the fences, which are being destroyed. The destruction tries to acquire the lock on the pending fences list which it can never get because it's held by the wait from which it was called.  Old bug, but not a lot of userspace apps were using dma-buf polling interfaces. Fix those, in particular this fixes KDE stalls/deadlock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-08-21 00:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-40911",
                        "url": "https://ubuntu.com/security/CVE-2024-40911",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: cfg80211: Lock wiphy in cfg80211_get_station  Wiphy should be locked before calling rdev_get_station() (see lockdep assert in ieee80211_get_station()).  This fixes the following kernel NULL dereference:   Unable to handle kernel NULL pointer dereference at virtual address 0000000000000050  Mem abort info:    ESR = 0x0000000096000006    EC = 0x25: DABT (current EL), IL = 32 bits    SET = 0, FnV = 0    EA = 0, S1PTW = 0    FSC = 0x06: level 2 translation fault  Data abort info:    ISV = 0, ISS = 0x00000006    CM = 0, WnR = 0  user pgtable: 4k pages, 48-bit VAs, pgdp=0000000003001000  [0000000000000050] pgd=0800000002dca003, p4d=0800000002dca003, pud=08000000028e9003, pmd=0000000000000000  Internal error: Oops: 0000000096000006 [#1] SMP  Modules linked in: netconsole dwc3_meson_g12a dwc3_of_simple dwc3 ip_gre gre ath10k_pci ath10k_core ath9k ath9k_common ath9k_hw ath  CPU: 0 PID: 1091 Comm: kworker/u8:0 Not tainted 6.4.0-02144-g565f9a3a7911-dirty #705  Hardware name: RPT (r1) (DT)  Workqueue: bat_events batadv_v_elp_throughput_metric_update  pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)  pc : ath10k_sta_statistics+0x10/0x2dc [ath10k_core]  lr : sta_set_sinfo+0xcc/0xbd4  sp : ffff000007b43ad0  x29: ffff000007b43ad0 x28: ffff0000071fa900 x27: ffff00000294ca98  x26: ffff000006830880 x25: ffff000006830880 x24: ffff00000294c000  x23: 0000000000000001 x22: ffff000007b43c90 x21: ffff800008898acc  x20: ffff00000294c6e8 x19: ffff000007b43c90 x18: 0000000000000000  x17: 445946354d552d78 x16: 62661f7200000000 x15: 57464f445946354d  x14: 0000000000000000 x13: 00000000000000e3 x12: d5f0acbcebea978e  x11: 00000000000000e3 x10: 000000010048fe41 x9 : 0000000000000000  x8 : ffff000007b43d90 x7 : 000000007a1e2125 x6 : 0000000000000000  x5 : ffff0000024e0900 x4 : ffff800000a0250c x3 : ffff000007b43c90  x2 : ffff00000294ca98 x1 : ffff000006831920 x0 : 0000000000000000  Call trace:   ath10k_sta_statistics+0x10/0x2dc [ath10k_core]   sta_set_sinfo+0xcc/0xbd4   ieee80211_get_station+0x2c/0x44   cfg80211_get_station+0x80/0x154   batadv_v_elp_get_throughput+0x138/0x1fc   batadv_v_elp_throughput_metric_update+0x1c/0xa4   process_one_work+0x1ec/0x414   worker_thread+0x70/0x46c   kthread+0xdc/0xe0   ret_from_fork+0x10/0x20  Code: a9bb7bfd 910003fd a90153f3 f9411c40 (f9402814)  This happens because STA has time to disconnect and reconnect before batadv_v_elp_throughput_metric_update() delayed work gets scheduled. In this situation, ath10k_sta_state() can be in the middle of resetting arsta data when the work queue get chance to be scheduled and ends up accessing it. Locking wiphy prevents that.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-12 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-35896",
                        "url": "https://ubuntu.com/security/CVE-2024-35896",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: netfilter: validate user input for expected length I got multiple syzbot reports showing old bugs exposed by BPF after commit 20f2505fb436 (\"bpf: Try to avoid kzalloc in cgroup/{s,g}etsockopt\") setsockopt() @optlen argument should be taken into account before copying data. BUG: KASAN: slab-out-of-bounds in copy_from_sockptr_offset include/linux/sockptr.h:49 [inline] BUG: KASAN: slab-out-of-bounds in copy_from_sockptr include/linux/sockptr.h:55 [inline] BUG: KASAN: slab-out-of-bounds in do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline] BUG: KASAN: slab-out-of-bounds in do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627 Read of size 96 at addr ffff88802cd73da0 by task syz-executor.4/7238 CPU: 1 PID: 7238 Comm: syz-executor.4 Not tainted 6.9.0-rc2-next-20240403-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 print_address_description mm/kasan/report.c:377 [inline] print_report+0x169/0x550 mm/kasan/report.c:488 kasan_report+0x143/0x180 mm/kasan/report.c:601 kasan_check_range+0x282/0x290 mm/kasan/generic.c:189 __asan_memcpy+0x29/0x70 mm/kasan/shadow.c:105 copy_from_sockptr_offset include/linux/sockptr.h:49 [inline] copy_from_sockptr include/linux/sockptr.h:55 [inline] do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline] do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627 nf_setsockopt+0x295/0x2c0 net/netfilter/nf_sockopt.c:101 do_sock_setsockopt+0x3af/0x720 net/socket.c:2311 __sys_setsockopt+0x1ae/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340 do_syscall_64+0xfb/0x240 entry_SYSCALL_64_after_hwframe+0x72/0x7a RIP: 0033:0x7fd22067dde9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fd21f9ff0c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 00007fd2207abf80 RCX: 00007fd22067dde9 RDX: 0000000000000040 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 00007fd2206ca47a R08: 0000000000000001 R09: 0000000000000000 R10: 0000000020000880 R11: 0000000000000246 R12: 0000000000000000 R13: 000000000000000b R14: 00007fd2207abf80 R15: 00007ffd2d0170d8 </TASK> Allocated by task 7238: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:370 [inline] __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:387 kasan_kmalloc include/linux/kasan.h:211 [inline] __do_kmalloc_node mm/slub.c:4069 [inline] __kmalloc_noprof+0x200/0x410 mm/slub.c:4082 kmalloc_noprof include/linux/slab.h:664 [inline] __cgroup_bpf_run_filter_setsockopt+0xd47/0x1050 kernel/bpf/cgroup.c:1869 do_sock_setsockopt+0x6b4/0x720 net/socket.c:2293 __sys_setsockopt+0x1ae/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340 do_syscall_64+0xfb/0x240 entry_SYSCALL_64_after_hwframe+0x72/0x7a The buggy address belongs to the object at ffff88802cd73da0 which belongs to the cache kmalloc-8 of size 8 The buggy address is located 0 bytes inside of allocated 1-byte region [ffff88802cd73da0, ffff88802cd73da1) The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff88802cd73020 pfn:0x2cd73 flags: 0xfff80000000000(node=0|zone=1|lastcpupid=0xfff) page_type: 0xffffefff(slab) raw: 00fff80000000000 ffff888015041280 dead000000000100 dead000000000122 raw: ffff88802cd73020 000000008080007f 00000001ffffefff 00 ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-05-19 09:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2023-52458",
                        "url": "https://ubuntu.com/security/CVE-2023-52458",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: block: add check that partition length needs to be aligned with block size Before calling add partition or resize partition, there is no check on whether the length is aligned with the logical block size. If the logical block size of the disk is larger than 512 bytes, then the partition size maybe not the multiple of the logical block size, and when the last sector is read, bio_truncate() will adjust the bio size, resulting in an IO error if the size of the read command is smaller than the logical block size.If integrity data is supported, this will also result in a null pointer dereference when calling bio_integrity_free.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-02-23 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-35887",
                        "url": "https://ubuntu.com/security/CVE-2024-35887",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: ax25: fix use-after-free bugs caused by ax25_ds_del_timer When the ax25 device is detaching, the ax25_dev_device_down() calls ax25_ds_del_timer() to cleanup the slave_timer. When the timer handler is running, the ax25_ds_del_timer() that calls del_timer() in it will return directly. As a result, the use-after-free bugs could happen, one of the scenarios is shown below: (Thread 1) | (Thread 2) | ax25_ds_timeout() ax25_dev_device_down() | ax25_ds_del_timer() | del_timer() | ax25_dev_put() //FREE | | ax25_dev-> //USE In order to mitigate bugs, when the device is detaching, use timer_shutdown_sync() to stop the timer.",
                        "cve_priority": "low",
                        "cve_public_date": "2024-05-19 09:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-40965",
                        "url": "https://ubuntu.com/security/CVE-2024-40965",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  i2c: lpi2c: Avoid calling clk_get_rate during transfer  Instead of repeatedly calling clk_get_rate for each transfer, lock the clock rate and cache the value. A deadlock has been observed while adding tlv320aic32x4 audio codec to the system. When this clock provider adds its clock, the clk mutex is locked already, it needs to access i2c, which in return needs the mutex for clk_get_rate as well.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-12 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-40982",
                        "url": "https://ubuntu.com/security/CVE-2024-40982",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-12 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-41066",
                        "url": "https://ubuntu.com/security/CVE-2024-41066",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ibmvnic: Add tx check to prevent skb leak  Below is a summary of how the driver stores a reference to an skb during transmit:     tx_buff[free_map[consumer_index]]->skb = new_skb;     free_map[consumer_index] = IBMVNIC_INVALID_MAP;     consumer_index ++; Where variable data looks like this:     free_map == [4, IBMVNIC_INVALID_MAP, IBMVNIC_INVALID_MAP, 0, 3]                                                \tconsumer_index^     tx_buff == [skb=null, skb=<ptr>, skb=<ptr>, skb=null, skb=null]  The driver has checks to ensure that free_map[consumer_index] pointed to a valid index but there was no check to ensure that this index pointed to an unused/null skb address. So, if, by some chance, our free_map and tx_buff lists become out of sync then we were previously risking an skb memory leak. This could then cause tcp congestion control to stop sending packets, eventually leading to ETIMEDOUT.  Therefore, add a conditional to ensure that the skb address is null. If not then warn the user (because this is still a bug that should be patched) and free the old pointer to prevent memleak/tcp problems.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-29 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-42252",
                        "url": "https://ubuntu.com/security/CVE-2024-42252",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  closures: Change BUG_ON() to WARN_ON()  If a BUG_ON() can be hit in the wild, it shouldn't be a BUG_ON()  For reference, this has popped up once in the CI, and we'll need more info to debug it:  03240 ------------[ cut here ]------------ 03240 kernel BUG at lib/closure.c:21! 03240 kernel BUG at lib/closure.c:21! 03240 Internal error: Oops - BUG: 00000000f2000800 [#1] SMP 03240 Modules linked in: 03240 CPU: 15 PID: 40534 Comm: kworker/u80:1 Not tainted 6.10.0-rc4-ktest-ga56da69799bd #25570 03240 Hardware name: linux,dummy-virt (DT) 03240 Workqueue: btree_update btree_interior_update_work 03240 pstate: 00001005 (nzcv daif -PAN -UAO -TCO -DIT +SSBS BTYPE=--) 03240 pc : closure_put+0x224/0x2a0 03240 lr : closure_put+0x24/0x2a0 03240 sp : ffff0000d12071c0 03240 x29: ffff0000d12071c0 x28: dfff800000000000 x27: ffff0000d1207360 03240 x26: 0000000000000040 x25: 0000000000000040 x24: 0000000000000040 03240 x23: ffff0000c1f20180 x22: 0000000000000000 x21: ffff0000c1f20168 03240 x20: 0000000040000000 x19: ffff0000c1f20140 x18: 0000000000000001 03240 x17: 0000000000003aa0 x16: 0000000000003ad0 x15: 1fffe0001c326974 03240 x14: 0000000000000a1e x13: 0000000000000000 x12: 1fffe000183e402d 03240 x11: ffff6000183e402d x10: dfff800000000000 x9 : ffff6000183e402e 03240 x8 : 0000000000000001 x7 : 00009fffe7c1bfd3 x6 : ffff0000c1f2016b 03240 x5 : ffff0000c1f20168 x4 : ffff6000183e402e x3 : ffff800081391954 03240 x2 : 0000000000000001 x1 : 0000000000000000 x0 : 00000000a8000000 03240 Call trace: 03240  closure_put+0x224/0x2a0 03240  bch2_check_for_deadlock+0x910/0x1028 03240  bch2_six_check_for_deadlock+0x1c/0x30 03240  six_lock_slowpath.isra.0+0x29c/0xed0 03240  six_lock_ip_waiter+0xa8/0xf8 03240  __bch2_btree_node_lock_write+0x14c/0x298 03240  bch2_trans_lock_write+0x6d4/0xb10 03240  __bch2_trans_commit+0x135c/0x5520 03240  btree_interior_update_work+0x1248/0x1c10 03240  process_scheduled_works+0x53c/0xd90 03240  worker_thread+0x370/0x8c8 03240  kthread+0x258/0x2e8 03240  ret_from_fork+0x10/0x20 03240 Code: aa1303e0 d63f0020 a94363f7 17ffff8c (d4210000) 03240 ---[ end trace 0000000000000000 ]--- 03240 Kernel panic - not syncing: Oops - BUG: Fatal exception 03240 SMP: stopping secondary CPUs 03241 SMP: failed to stop secondary CPUs 13,15 03241 Kernel Offset: disabled 03241 CPU features: 0x00,00000003,80000008,4240500b 03241 Memory Limit: none 03241 ---[ end Kernel panic - not syncing: Oops - BUG: Fatal exception ]--- 03246 ========= FAILED TIMEOUT copygc_torture_no_checksum in 7200s",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-08-08 09:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-46731",
                        "url": "https://ubuntu.com/security/CVE-2024-46731",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/pm: fix the Out-of-bounds read warning  using index i - 1U may beyond element index for mc_data[] when i = 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-09-18 07:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47674",
                        "url": "https://ubuntu.com/security/CVE-2024-47674",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mm: avoid leaving partial pfn mappings around in error case  As Jann points out, PFN mappings are special, because unlike normal memory mappings, there is no lifetime information associated with the mapping - it is just a raw mapping of PFNs with no reference counting of a 'struct page'.  That's all very much intentional, but it does mean that it's easy to mess up the cleanup in case of errors.  Yes, a failed mmap() will always eventually clean up any partial mappings, but without any explicit lifetime in the page table mapping itself, it's very easy to do the error handling in the wrong order.  In particular, it's easy to mistakenly free the physical backing store before the page tables are actually cleaned up and (temporarily) have stale dangling PTE entries.  To make this situation less error-prone, just make sure that any partial pfn mapping is torn down early, before any other error handling.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-15 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-38588",
                        "url": "https://ubuntu.com/security/CVE-2024-38588",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix possible use-after-free issue in ftrace_location() KASAN reports a bug: BUG: KASAN: use-after-free in ftrace_location+0x90/0x120 Read of size 8 at addr ffff888141d40010 by task insmod/424 CPU: 8 PID: 424 Comm: insmod Tainted: G W 6.9.0-rc2+ [...] Call Trace: <TASK> dump_stack_lvl+0x68/0xa0 print_report+0xcf/0x610 kasan_report+0xb5/0xe0 ftrace_location+0x90/0x120 register_kprobe+0x14b/0xa40 kprobe_init+0x2d/0xff0 [kprobe_example] do_one_initcall+0x8f/0x2d0 do_init_module+0x13a/0x3c0 load_module+0x3082/0x33d0 init_module_from_file+0xd2/0x130 __x64_sys_finit_module+0x306/0x440 do_syscall_64+0x68/0x140 entry_SYSCALL_64_after_hwframe+0x71/0x79 The root cause is that, in lookup_rec(), ftrace record of some address is being searched in ftrace pages of some module, but those ftrace pages at the same time is being freed in ftrace_release_mod() as the corresponding module is being deleted: CPU1 | CPU2 register_kprobes() { | delete_module() { check_kprobe_address_safe() { | arch_check_ftrace_location() { | ftrace_location() { | lookup_rec() // USE! | ftrace_release_mod() // Free! To fix this issue: 1. Hold rcu lock as accessing ftrace pages in ftrace_location_range(); 2. Use ftrace_location_range() instead of lookup_rec() in ftrace_location(); 3. Call synchronize_rcu() before freeing any ftrace pages both in ftrace_process_locs()/ftrace_release_mod()/ftrace_free_mem().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-06-19 14:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50265",
                        "url": "https://ubuntu.com/security/CVE-2024-50265",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: remove entry once instead of null-ptr-dereference in ocfs2_xa_remove()  Syzkaller is able to provoke null-ptr-dereference in ocfs2_xa_remove():  [   57.319872] (a.out,1161,7):ocfs2_xa_remove:2028 ERROR: status = -12 [   57.320420] (a.out,1161,7):ocfs2_xa_cleanup_value_truncate:1999 ERROR: Partial truncate while removing xattr overlay.upper.  Leaking 1 clusters and removing the entry [   57.321727] BUG: kernel NULL pointer dereference, address: 0000000000000004 [...] [   57.325727] RIP: 0010:ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [...] [   57.331328] Call Trace: [   57.331477]  <TASK> [...] [   57.333511]  ? do_user_addr_fault+0x3e5/0x740 [   57.333778]  ? exc_page_fault+0x70/0x170 [   57.334016]  ? asm_exc_page_fault+0x2b/0x30 [   57.334263]  ? __pfx_ocfs2_xa_block_wipe_namevalue+0x10/0x10 [   57.334596]  ? ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [   57.334913]  ocfs2_xa_remove_entry+0x23/0xc0 [   57.335164]  ocfs2_xa_set+0x704/0xcf0 [   57.335381]  ? _raw_spin_unlock+0x1a/0x40 [   57.335620]  ? ocfs2_inode_cache_unlock+0x16/0x20 [   57.335915]  ? trace_preempt_on+0x1e/0x70 [   57.336153]  ? start_this_handle+0x16c/0x500 [   57.336410]  ? preempt_count_sub+0x50/0x80 [   57.336656]  ? _raw_read_unlock+0x20/0x40 [   57.336906]  ? start_this_handle+0x16c/0x500 [   57.337162]  ocfs2_xattr_block_set+0xa6/0x1e0 [   57.337424]  __ocfs2_xattr_set_handle+0x1fd/0x5d0 [   57.337706]  ? ocfs2_start_trans+0x13d/0x290 [   57.337971]  ocfs2_xattr_set+0xb13/0xfb0 [   57.338207]  ? dput+0x46/0x1c0 [   57.338393]  ocfs2_xattr_trusted_set+0x28/0x30 [   57.338665]  ? ocfs2_xattr_trusted_set+0x28/0x30 [   57.338948]  __vfs_removexattr+0x92/0xc0 [   57.339182]  __vfs_removexattr_locked+0xd5/0x190 [   57.339456]  ? preempt_count_sub+0x50/0x80 [   57.339705]  vfs_removexattr+0x5f/0x100 [...]  Reproducer uses faultinject facility to fail ocfs2_xa_remove() -> ocfs2_xa_value_truncate() with -ENOMEM.  In this case the comment mentions that we can return 0 if ocfs2_xa_cleanup_value_truncate() is going to wipe the entry anyway. But the following 'rc' check is wrong and execution flow do 'ocfs2_xa_remove_entry(loc);' twice: * 1st: in ocfs2_xa_cleanup_value_truncate(); * 2nd: returning back to ocfs2_xa_remove() instead of going to 'out'.  Fix this by skipping the 2nd removal of the same entry and making syzkaller repro happy.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50267",
                        "url": "https://ubuntu.com/security/CVE-2024-50267",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  USB: serial: io_edgeport: fix use after free in debug printk  The \"dev_dbg(&urb->dev->dev, ...\" which happens after usb_free_urb(urb) is a use after free of the \"urb\" pointer.  Store the \"dev\" pointer at the start of the function to avoid this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50269",
                        "url": "https://ubuntu.com/security/CVE-2024-50269",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: musb: sunxi: Fix accessing an released usb phy  Commit 6ed05c68cbca (\"usb: musb: sunxi: Explicitly release USB PHY on exit\") will cause that usb phy @glue->xceiv is accessed after released.  1) register platform driver @sunxi_musb_driver // get the usb phy @glue->xceiv sunxi_musb_probe() -> devm_usb_get_phy().  2) register and unregister platform driver @musb_driver musb_probe() -> sunxi_musb_init() use the phy here //the phy is released here musb_remove() -> sunxi_musb_exit() -> devm_usb_put_phy()  3) register @musb_driver again musb_probe() -> sunxi_musb_init() use the phy here but the phy has been released at 2). ...  Fixed by reverting the commit, namely, removing devm_usb_put_phy() from sunxi_musb_exit().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2021-47469",
                        "url": "https://ubuntu.com/security/CVE-2021-47469",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: spi: Fix deadlock when adding SPI controllers on SPI buses Currently we have a global spi_add_lock which we take when adding new devices so that we can check that we're not trying to reuse a chip select that's already controlled. This means that if the SPI device is itself a SPI controller and triggers the instantiation of further SPI devices we trigger a deadlock as we try to register and instantiate those devices while in the process of doing so for the parent controller and hence already holding the global spi_add_lock. Since we only care about concurrency within a single SPI bus move the lock to be per controller, avoiding the deadlock. This can be easily triggered in the case of spi-mux.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-05-22 07:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50273",
                        "url": "https://ubuntu.com/security/CVE-2024-50273",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: reinitialize delayed ref list after deleting it from the list  At insert_delayed_ref() if we need to update the action of an existing ref to BTRFS_DROP_DELAYED_REF, we delete the ref from its ref head's ref_add_list using list_del(), which leaves the ref's add_list member not reinitialized, as list_del() sets the next and prev members of the list to LIST_POISON1 and LIST_POISON2, respectively.  If later we end up calling drop_delayed_ref() against the ref, which can happen during merging or when destroying delayed refs due to a transaction abort, we can trigger a crash since at drop_delayed_ref() we call list_empty() against the ref's add_list, which returns false since the list was not reinitialized after the list_del() and as a consequence we call list_del() again at drop_delayed_ref(). This results in an invalid list access since the next and prev members are set to poison pointers, resulting in a splat if CONFIG_LIST_HARDENED and CONFIG_DEBUG_LIST are set or invalid poison pointer dereferences otherwise.  So fix this by deleting from the list with list_del_init() instead.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-53066",
                        "url": "https://ubuntu.com/security/CVE-2024-53066",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfs: Fix KMSAN warning in decode_getfattr_attrs()  Fix the following KMSAN warning:  CPU: 1 UID: 0 PID: 7651 Comm: cp Tainted: G    B Tainted: [B]=BAD_PAGE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009) ===================================================== ===================================================== BUG: KMSAN: uninit-value in decode_getfattr_attrs+0x2d6d/0x2f90  decode_getfattr_attrs+0x2d6d/0x2f90  decode_getfattr_generic+0x806/0xb00  nfs4_xdr_dec_getattr+0x1de/0x240  rpcauth_unwrap_resp_decode+0xab/0x100  rpcauth_unwrap_resp+0x95/0xc0  call_decode+0x4ff/0xb50  __rpc_execute+0x57b/0x19d0  rpc_execute+0x368/0x5e0  rpc_run_task+0xcfe/0xee0  nfs4_proc_getattr+0x5b5/0x990  __nfs_revalidate_inode+0x477/0xd00  nfs_access_get_cached+0x1021/0x1cc0  nfs_do_access+0x9f/0xae0  nfs_permission+0x1e4/0x8c0  inode_permission+0x356/0x6c0  link_path_walk+0x958/0x1330  path_lookupat+0xce/0x6b0  filename_lookup+0x23e/0x770  vfs_statx+0xe7/0x970  vfs_fstatat+0x1f2/0x2c0  __se_sys_newfstatat+0x67/0x880  __x64_sys_newfstatat+0xbd/0x120  x64_sys_call+0x1826/0x3cf0  do_syscall_64+0xd0/0x1b0  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The KMSAN warning is triggered in decode_getfattr_attrs(), when calling decode_attr_mdsthreshold(). It appears that fattr->mdsthreshold is not initialized.  Fix the issue by initializing fattr->mdsthreshold to NULL in nfs_fattr_init().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50278",
                        "url": "https://ubuntu.com/security/CVE-2024-50278",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  dm cache: fix potential out-of-bounds access on the first resume  Out-of-bounds access occurs if the fast device is expanded unexpectedly before the first-time resume of the cache table. This happens because expanding the fast device requires reloading the cache table for cache_create to allocate new in-core data structures that fit the new size, and the check in cache_preresume is not performed during the first resume, leading to the issue.  Reproduce steps:  1. prepare component devices:  dmsetup create cmeta --table \"0 8192 linear /dev/sdc 0\" dmsetup create cdata --table \"0 65536 linear /dev/sdc 8192\" dmsetup create corig --table \"0 524288 linear /dev/sdc 262144\" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct  2. load a cache table of 512 cache blocks, and deliberately expand the    fast device before resuming the cache, making the in-core data    structures inadequate.  dmsetup create cache --notable dmsetup reload cache --table \"0 524288 cache /dev/mapper/cmeta \\ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0\" dmsetup reload cdata --table \"0 131072 linear /dev/sdc 8192\" dmsetup resume cdata dmsetup resume cache  3. suspend the cache to write out the in-core dirty bitset and hint    array, leading to out-of-bounds access to the dirty bitset at offset    0x40:  dmsetup suspend cache  KASAN reports:    BUG: KASAN: vmalloc-out-of-bounds in is_dirty_callback+0x2b/0x80   Read of size 8 at addr ffffc90000085040 by task dmsetup/90    (...snip...)   The buggy address belongs to the virtual mapping at    [ffffc90000085000, ffffc90000087000) created by:    cache_ctr+0x176a/0x35f0    (...snip...)   Memory state around the buggy address:    ffffc90000084f00: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc90000084f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8   >ffffc90000085000: 00 00 00 00 00 00 00 00 f8 f8 f8 f8 f8 f8 f8 f8                                              ^    ffffc90000085080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc90000085100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8  Fix by checking the size change on the first resume.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50279",
                        "url": "https://ubuntu.com/security/CVE-2024-50279",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  dm cache: fix out-of-bounds access to the dirty bitset when resizing  dm-cache checks the dirty bits of the cache blocks to be dropped when shrinking the fast device, but an index bug in bitset iteration causes out-of-bounds access.  Reproduce steps:  1. create a cache device of 1024 cache blocks (128 bytes dirty bitset)  dmsetup create cmeta --table \"0 8192 linear /dev/sdc 0\" dmsetup create cdata --table \"0 131072 linear /dev/sdc 8192\" dmsetup create corig --table \"0 524288 linear /dev/sdc 262144\" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct dmsetup create cache --table \"0 524288 cache /dev/mapper/cmeta \\ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0\"  2. shrink the fast device to 512 cache blocks, triggering out-of-bounds    access to the dirty bitset (offset 0x80)  dmsetup suspend cache dmsetup reload cdata --table \"0 65536 linear /dev/sdc 8192\" dmsetup resume cdata dmsetup resume cache  KASAN reports:    BUG: KASAN: vmalloc-out-of-bounds in cache_preresume+0x269/0x7b0   Read of size 8 at addr ffffc900000f3080 by task dmsetup/131    (...snip...)   The buggy address belongs to the virtual mapping at    [ffffc900000f3000, ffffc900000f5000) created by:    cache_ctr+0x176a/0x35f0    (...snip...)   Memory state around the buggy address:    ffffc900000f2f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc900000f3000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >ffffc900000f3080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8                      ^    ffffc900000f3100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc900000f3180: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8  Fix by making the index post-incremented.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50282",
                        "url": "https://ubuntu.com/security/CVE-2024-50282",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: add missing size check in amdgpu_debugfs_gprwave_read()  Avoid a possible buffer overflow if size is larger than 4K.  (cherry picked from commit f5d873f5825b40d886d03bd2aede91d4cf002434)",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50287",
                        "url": "https://ubuntu.com/security/CVE-2024-50287",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: v4l2-tpg: prevent the risk of a division by zero  As reported by Coverity, the logic at tpg_precalculate_line() blindly rescales the buffer even when scaled_witdh is equal to zero. If this ever happens, this will cause a division by zero.  Instead, add a WARN_ON_ONCE() to trigger such cases and return without doing any precalculation.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50290",
                        "url": "https://ubuntu.com/security/CVE-2024-50290",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: cx24116: prevent overflows on SNR calculus  as reported by Coverity, if reading SNR registers fail, a negative number will be returned, causing an underflow when reading SNR registers.  Prevent that.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-53061",
                        "url": "https://ubuntu.com/security/CVE-2024-53061",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: s5p-jpeg: prevent buffer overflows  The current logic allows word to be less than 2. If this happens, there will be buffer overflows, as reported by smatch. Add extra checks to prevent it.  While here, remove an unused word = 0 assignment.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-53063",
                        "url": "https://ubuntu.com/security/CVE-2024-53063",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvbdev: prevent the risk of out of memory access  The dvbdev contains a static variable used to store dvb minors.  The behavior of it depends if CONFIG_DVB_DYNAMIC_MINORS is set or not. When not set, dvb_register_device() won't check for boundaries, as it will rely that a previous call to dvb_register_adapter() would already be enforcing it.  On a similar way, dvb_device_open() uses the assumption that the register functions already did the needed checks.  This can be fragile if some device ends using different calls. This also generate warnings on static check analysers like Coverity.  So, add explicit guards to prevent potential risk of OOM issues.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50296",
                        "url": "https://ubuntu.com/security/CVE-2024-50296",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: fix kernel crash when uninstalling driver  When the driver is uninstalled and the VF is disabled concurrently, a kernel crash occurs. The reason is that the two actions call function pci_disable_sriov(). The num_VFs is checked to determine whether to release the corresponding resources. During the second calling, num_VFs is not 0 and the resource release function is called. However, the corresponding resource has been released during the first invoking. Therefore, the problem occurs:  [15277.839633][T50670] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020 ... [15278.131557][T50670] Call trace: [15278.134686][T50670]  klist_put+0x28/0x12c [15278.138682][T50670]  klist_del+0x14/0x20 [15278.142592][T50670]  device_del+0xbc/0x3c0 [15278.146676][T50670]  pci_remove_bus_device+0x84/0x120 [15278.151714][T50670]  pci_stop_and_remove_bus_device+0x6c/0x80 [15278.157447][T50670]  pci_iov_remove_virtfn+0xb4/0x12c [15278.162485][T50670]  sriov_disable+0x50/0x11c [15278.166829][T50670]  pci_disable_sriov+0x24/0x30 [15278.171433][T50670]  hnae3_unregister_ae_algo_prepare+0x60/0x90 [hnae3] [15278.178039][T50670]  hclge_exit+0x28/0xd0 [hclge] [15278.182730][T50670]  __se_sys_delete_module.isra.0+0x164/0x230 [15278.188550][T50670]  __arm64_sys_delete_module+0x1c/0x30 [15278.193848][T50670]  invoke_syscall+0x50/0x11c [15278.198278][T50670]  el0_svc_common.constprop.0+0x158/0x164 [15278.203837][T50670]  do_el0_svc+0x34/0xcc [15278.207834][T50670]  el0_svc+0x20/0x30  For details, see the following figure.       rmmod hclge              disable VFs ---------------------------------------------------- hclge_exit()            sriov_numvfs_store()   ...                     device_lock()   pci_disable_sriov()     hns3_pci_sriov_configure()                             pci_disable_sriov()                               sriov_disable()     sriov_disable()             if !num_VFs :       if !num_VFs :               return;         return;                 sriov_del_vfs()       sriov_del_vfs()             ...         ...                       klist_put()         klist_put()               ...         ...                     num_VFs = 0;       num_VFs = 0;        device_unlock();  In this patch, when driver is removing, we get the device_lock() to protect num_VFs, just like sriov_numvfs_store().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50299",
                        "url": "https://ubuntu.com/security/CVE-2024-50299",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sctp: properly validate chunk size in sctp_sf_ootb()  A size validation fix similar to that in Commit 50619dbf8db7 (\"sctp: add size validation when walking chunks\") is also required in sctp_sf_ootb() to address a crash reported by syzbot:    BUG: KMSAN: uninit-value in sctp_sf_ootb+0x7f5/0xce0 net/sctp/sm_statefuns.c:3712   sctp_sf_ootb+0x7f5/0xce0 net/sctp/sm_statefuns.c:3712   sctp_do_sm+0x181/0x93d0 net/sctp/sm_sideeffect.c:1166   sctp_endpoint_bh_rcv+0xc38/0xf90 net/sctp/endpointola.c:407   sctp_inq_push+0x2ef/0x380 net/sctp/inqueue.c:88   sctp_rcv+0x3831/0x3b20 net/sctp/input.c:243   sctp4_rcv+0x42/0x50 net/sctp/protocol.c:1159   ip_protocol_deliver_rcu+0xb51/0x13d0 net/ipv4/ip_input.c:205   ip_local_deliver_finish+0x336/0x500 net/ipv4/ip_input.c:233",
                        "cve_priority": "low",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50301",
                        "url": "https://ubuntu.com/security/CVE-2024-50301",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  security/keys: fix slab-out-of-bounds in key_task_permission  KASAN reports an out of bounds read: BUG: KASAN: slab-out-of-bounds in __kuid_val include/linux/uidgid.h:36 BUG: KASAN: slab-out-of-bounds in uid_eq include/linux/uidgid.h:63 [inline] BUG: KASAN: slab-out-of-bounds in key_task_permission+0x394/0x410 security/keys/permission.c:54 Read of size 4 at addr ffff88813c3ab618 by task stress-ng/4362  CPU: 2 PID: 4362 Comm: stress-ng Not tainted 5.10.0-14930-gafbffd6c3ede #15 Call Trace:  __dump_stack lib/dump_stack.c:82 [inline]  dump_stack+0x107/0x167 lib/dump_stack.c:123  print_address_description.constprop.0+0x19/0x170 mm/kasan/report.c:400  __kasan_report.cold+0x6c/0x84 mm/kasan/report.c:560  kasan_report+0x3a/0x50 mm/kasan/report.c:585  __kuid_val include/linux/uidgid.h:36 [inline]  uid_eq include/linux/uidgid.h:63 [inline]  key_task_permission+0x394/0x410 security/keys/permission.c:54  search_nested_keyrings+0x90e/0xe90 security/keys/keyring.c:793  This issue was also reported by syzbot.  It can be reproduced by following these steps(more details [1]): 1. Obtain more than 32 inputs that have similar hashes, which ends with the    pattern '0xxxxxxxe6'. 2. Reboot and add the keys obtained in step 1.  The reproducer demonstrates how this issue happened: 1. In the search_nested_keyrings function, when it iterates through the    slots in a node(below tag ascend_to_node), if the slot pointer is meta    and node->back_pointer != NULL(it means a root), it will proceed to    descend_to_node. However, there is an exception. If node is the root,    and one of the slots points to a shortcut, it will be treated as a    keyring. 2. Whether the ptr is keyring decided by keyring_ptr_is_keyring function.    However, KEYRING_PTR_SUBTYPE is 0x2UL, the same as    ASSOC_ARRAY_PTR_SUBTYPE_MASK. 3. When 32 keys with the similar hashes are added to the tree, the ROOT    has keys with hashes that are not similar (e.g. slot 0) and it splits    NODE A without using a shortcut. When NODE A is filled with keys that    all hashes are xxe6, the keys are similar, NODE A will split with a    shortcut. Finally, it forms the tree as shown below, where slot 6 points    to a shortcut.                        NODE A               +------>+---+       ROOT    |       | 0 | xxe6       +---+   |       +---+  xxxx | 0 | shortcut  :   : xxe6       +---+   |       +---+  xxe6 :   :   |       |   | xxe6       +---+   |       +---+       | 6 |---+       :   : xxe6       +---+           +---+  xxe6 :   :           | f | xxe6       +---+           +---+  xxe6 | f |       +---+  4. As mentioned above, If a slot(slot 6) of the root points to a shortcut,    it may be mistakenly transferred to a key*, leading to a read    out-of-bounds read.  To fix this issue, one should jump to descend_to_node if the ptr is a shortcut, regardless of whether the node is root or not.  [1] https://lore.kernel.org/linux-kernel/1cfa878e-8c7b-4570-8606-21daf5e13ce7@huaweicloud.com/  [jarkko: tweaked the commit message a bit to have an appropriate closes  tag.]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50302",
                        "url": "https://ubuntu.com/security/CVE-2024-50302",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  HID: core: zero-initialize the report buffer  Since the report buffer is used by all kinds of drivers in various ways, let's zero-initialize it during allocation to make sure that it can't be ever used to leak kernel memory via specially-crafted report.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 02:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50228",
                        "url": "https://ubuntu.com/security/CVE-2024-50228",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50230",
                        "url": "https://ubuntu.com/security/CVE-2024-50230",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix kernel bug due to missing clearing of checked flag  Syzbot reported that in directory operations after nilfs2 detects filesystem corruption and degrades to read-only, __block_write_begin_int(), which is called to prepare block writes, may fail the BUG_ON check for accesses exceeding the folio/page size, triggering a kernel bug.  This was found to be because the \"checked\" flag of a page/folio was not cleared when it was discarded by nilfs2's own routine, which causes the sanity check of directory entries to be skipped when the directory page/folio is reloaded.  So, fix that.  This was necessary when the use of nilfs2's own page discard routine was applied to more than just metadata files.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50218",
                        "url": "https://ubuntu.com/security/CVE-2024-50218",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow  Syzbot reported a kernel BUG in ocfs2_truncate_inline.  There are two reasons for this: first, the parameter value passed is greater than ocfs2_max_inline_data_with_xattr, second, the start and end parameters of ocfs2_truncate_inline are \"unsigned int\".  So, we need to add a sanity check for byte_start and byte_len right before ocfs2_truncate_inline() in ocfs2_remove_inode_range(), if they are greater than ocfs2_max_inline_data_with_xattr return -EINVAL.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50229",
                        "url": "https://ubuntu.com/security/CVE-2024-50229",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential deadlock with newly created symlinks  Syzbot reported that page_symlink(), called by nilfs_symlink(), triggers memory reclamation involving the filesystem layer, which can result in circular lock dependencies among the reader/writer semaphore nilfs->ns_segctor_sem, s_writers percpu_rwsem (intwrite) and the fs_reclaim pseudo lock.  This is because after commit 21fc61c73c39 (\"don't put symlink bodies in pagecache into highmem\"), the gfp flags of the page cache for symbolic links are overwritten to GFP_KERNEL via inode_nohighmem().  This is not a problem for symlinks read from the backing device, because the __GFP_FS flag is dropped after inode_nohighmem() is called.  However, when a new symlink is created with nilfs_symlink(), the gfp flags remain overwritten to GFP_KERNEL.  Then, memory allocation called from page_symlink() etc.  triggers memory reclamation including the FS layer, which may call nilfs_evict_inode() or nilfs_dirty_inode().  And these can cause a deadlock if they are called while nilfs->ns_segctor_sem is held:  Fix this issue by dropping the __GFP_FS flag from the page cache GFP flags of newly created symlinks in the same way that nilfs_new_inode() and __nilfs_read_inode() do, as a workaround until we adopt nofs allocation scope consistently or improve the locking constraints.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50233",
                        "url": "https://ubuntu.com/security/CVE-2024-50233",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  staging: iio: frequency: ad9832: fix division by zero in ad9832_calc_freqreg()  In the ad9832_write_frequency() function, clk_get_rate() might return 0. This can lead to a division by zero when calling ad9832_calc_freqreg(). The check if (fout > (clk_get_rate(st->mclk) / 2)) does not protect against the case when fout is 0. The ad9832_write_frequency() function is called from ad9832_write(), and fout is derived from a text buffer, which can contain any value.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50234",
                        "url": "https://ubuntu.com/security/CVE-2024-50234",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlegacy: Clear stale interrupts before resuming device  iwl4965 fails upon resume from hibernation on my laptop. The reason seems to be a stale interrupt which isn't being cleared out before interrupts are enabled. We end up with a race beween the resume trying to bring things back up, and the restart work (queued form the interrupt handler) trying to bring things down. Eventually the whole thing blows up.  Fix the problem by clearing out any stale interrupts before interrupts get enabled during resume.  Here's a debug log of the indicent: [   12.042589] ieee80211 phy0: il_isr ISR inta 0x00000080, enabled 0xaa00008b, fh 0x00000000 [   12.042625] ieee80211 phy0: il4965_irq_tasklet inta 0x00000080, enabled 0x00000000, fh 0x00000000 [   12.042651] iwl4965 0000:10:00.0: RF_KILL bit toggled to enable radio. [   12.042653] iwl4965 0000:10:00.0: On demand firmware reload [   12.042690] ieee80211 phy0: il4965_irq_tasklet End inta 0x00000000, enabled 0xaa00008b, fh 0x00000000, flags 0x00000282 [   12.052207] ieee80211 phy0: il4965_mac_start enter [   12.052212] ieee80211 phy0: il_prep_station Add STA to driver ID 31: ff:ff:ff:ff:ff:ff [   12.052244] ieee80211 phy0: il4965_set_hw_ready hardware  ready [   12.052324] ieee80211 phy0: il_apm_init Init card's basic functions [   12.052348] ieee80211 phy0: il_apm_init L1 Enabled; Disabling L0S [   12.055727] ieee80211 phy0: il4965_load_bsm Begin load bsm [   12.056140] ieee80211 phy0: il4965_verify_bsm Begin verify bsm [   12.058642] ieee80211 phy0: il4965_verify_bsm BSM bootstrap uCode image OK [   12.058721] ieee80211 phy0: il4965_load_bsm BSM write complete, poll 1 iterations [   12.058734] ieee80211 phy0: __il4965_up iwl4965 is coming up [   12.058737] ieee80211 phy0: il4965_mac_start Start UP work done. [   12.058757] ieee80211 phy0: __il4965_down iwl4965 is going down [   12.058761] ieee80211 phy0: il_scan_cancel_timeout Scan cancel timeout [   12.058762] ieee80211 phy0: il_do_scan_abort Not performing scan to abort [   12.058765] ieee80211 phy0: il_clear_ucode_stations Clearing ucode stations in driver [   12.058767] ieee80211 phy0: il_clear_ucode_stations No active stations found to be cleared [   12.058819] ieee80211 phy0: _il_apm_stop Stop card, put in low power state [   12.058827] ieee80211 phy0: _il_apm_stop_master stop master [   12.058864] ieee80211 phy0: il4965_clear_free_frames 0 frames on pre-allocated heap on clear. [   12.058869] ieee80211 phy0: Hardware restart was requested [   16.132299] iwl4965 0000:10:00.0: START_ALIVE timeout after 4000ms. [   16.132303] ------------[ cut here ]------------ [   16.132304] Hardware became unavailable upon resume. This could be a software issue prior to suspend or a hardware issue. [   16.132338] WARNING: CPU: 0 PID: 181 at net/mac80211/util.c:1826 ieee80211_reconfig+0x8f/0x14b0 [mac80211] [   16.132390] Modules linked in: ctr ccm sch_fq_codel xt_tcpudp xt_multiport xt_state iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv4 ip_tables x_tables binfmt_misc joydev mousedev btusb btrtl btintel btbcm bluetooth ecdh_generic ecc iTCO_wdt i2c_dev iwl4965 iwlegacy coretemp snd_hda_codec_analog pcspkr psmouse mac80211 snd_hda_codec_generic libarc4 sdhci_pci cqhci sha256_generic sdhci libsha256 firewire_ohci snd_hda_intel snd_intel_dspcfg mmc_core snd_hda_codec snd_hwdep firewire_core led_class iosf_mbi snd_hda_core uhci_hcd lpc_ich crc_itu_t cfg80211 ehci_pci ehci_hcd snd_pcm usbcore mfd_core rfkill snd_timer snd usb_common soundcore video parport_pc parport intel_agp wmi intel_gtt backlight e1000e agpgart evdev [   16.132456] CPU: 0 UID: 0 PID: 181 Comm: kworker/u8:6 Not tainted 6.11.0-cl+ #143 [   16.132460] Hardware name: Hewlett-Packard HP Compaq 6910p/30BE, BIOS 68MCU Ver. F.19 07/06/2010 [   16.132463] Workqueue: async async_run_entry_fn [   16.132469] RIP: 0010:ieee80211_reconfig+0x8f/0x14b0 [mac80211] [   16.132501] Code: da 02 00 0 ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50236",
                        "url": "https://ubuntu.com/security/CVE-2024-50236",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: ath10k: Fix memory leak in management tx  In the current logic, memory is allocated for storing the MSDU context during management packet TX but this memory is not being freed during management TX completion. Similar leaks are seen in the management TX cleanup logic.  Kmemleak reports this problem as below,  unreferenced object 0xffffff80b64ed250 (size 16):   comm \"kworker/u16:7\", pid 148, jiffies 4294687130 (age 714.199s)   hex dump (first 16 bytes):     00 2b d8 d8 80 ff ff ff c4 74 e9 fd 07 00 00 00  .+.......t......   backtrace:     [<ffffffe6e7b245dc>] __kmem_cache_alloc_node+0x1e4/0x2d8     [<ffffffe6e7adde88>] kmalloc_trace+0x48/0x110     [<ffffffe6bbd765fc>] ath10k_wmi_tlv_op_gen_mgmt_tx_send+0xd4/0x1d8 [ath10k_core]     [<ffffffe6bbd3eed4>] ath10k_mgmt_over_wmi_tx_work+0x134/0x298 [ath10k_core]     [<ffffffe6e78d5974>] process_scheduled_works+0x1ac/0x400     [<ffffffe6e78d60b8>] worker_thread+0x208/0x328     [<ffffffe6e78dc890>] kthread+0x100/0x1c0     [<ffffffe6e78166c0>] ret_from_fork+0x10/0x20  Free the memory during completion and cleanup to fix the leak.  Protect the mgmt_pending_tx idr_remove() operation in ath10k_wmi_tlv_op_cleanup_mgmt_tx_send() using ar->data_lock similar to other instances.  Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.2.0-01387-QCAHLSWMTPLZ-1",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50237",
                        "url": "https://ubuntu.com/security/CVE-2024-50237",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower  Avoid potentially crashing in the driver because of uninitialized private data",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50251",
                        "url": "https://ubuntu.com/security/CVE-2024-50251",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nft_payload: sanitize offset and length before calling skb_checksum()  If access to offset + length is larger than the skbuff length, then skb_checksum() triggers BUG_ON().  skb_checksum() internally subtracts the length parameter while iterating over skbuff, BUG_ON(len) at the end of it checks that the expected length to be included in the checksum calculation is fully consumed.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50262",
                        "url": "https://ubuntu.com/security/CVE-2024-50262",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Fix out-of-bounds write in trie_get_next_key()  trie_get_next_key() allocates a node stack with size trie->max_prefixlen, while it writes (trie->max_prefixlen + 1) nodes to the stack when it has full paths from the root to leaves. For example, consider a trie with max_prefixlen is 8, and the nodes with key 0x00/0, 0x00/1, 0x00/2, ... 0x00/8 inserted. Subsequent calls to trie_get_next_key with _key with .prefixlen = 8 make 9 nodes be written on the node stack with size 8.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-09 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-53059",
                        "url": "https://ubuntu.com/security/CVE-2024-53059",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlwifi: mvm: Fix response handling in iwl_mvm_send_recovery_cmd()  1. The size of the response packet is not validated. 2. The response buffer is not freed.  Resolve these issues by switching to iwl_mvm_send_cmd_status(), which handles both size validation and frees the buffer.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-19 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50142",
                        "url": "https://ubuntu.com/security/CVE-2024-50142",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfrm: validate new SA's prefixlen using SA family when sel.family is unset  This expands the validation introduced in commit 07bf7908950a (\"xfrm: Validate address prefix lengths in the xfrm selector.\")  syzbot created an SA with     usersa.sel.family = AF_UNSPEC     usersa.sel.prefixlen_s = 128     usersa.family = AF_INET  Because of the AF_UNSPEC selector, verify_newsa_info doesn't put limits on prefixlen_{s,d}. But then copy_from_user_state sets x->sel.family to usersa.family (AF_INET). Do the same conversion in verify_newsa_info before validating prefixlen_{s,d}, since that's how prefixlen is going to be used later on.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50116",
                        "url": "https://ubuntu.com/security/CVE-2024-50116",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix kernel bug due to missing clearing of buffer delay flag  Syzbot reported that after nilfs2 reads a corrupted file system image and degrades to read-only, the BUG_ON check for the buffer delay flag in submit_bh_wbc() may fail, causing a kernel bug.  This is because the buffer delay flag is not cleared when clearing the buffer state flags to discard a page/folio or a buffer head. So, fix this.  This became necessary when the use of nilfs2's own page clear routine was expanded.  This state inconsistency does not occur if the buffer is written normally by log writing.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50117",
                        "url": "https://ubuntu.com/security/CVE-2024-50117",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd: Guard against bad data for ATIF ACPI method  If a BIOS provides bad data in response to an ATIF method call this causes a NULL pointer dereference in the caller.  ``` ? show_regs (arch/x86/kernel/dumpstack.c:478 (discriminator 1)) ? __die (arch/x86/kernel/dumpstack.c:423 arch/x86/kernel/dumpstack.c:434) ? page_fault_oops (arch/x86/mm/fault.c:544 (discriminator 2) arch/x86/mm/fault.c:705 (discriminator 2)) ? do_user_addr_fault (arch/x86/mm/fault.c:440 (discriminator 1) arch/x86/mm/fault.c:1232 (discriminator 1)) ? acpi_ut_update_object_reference (drivers/acpi/acpica/utdelete.c:642) ? exc_page_fault (arch/x86/mm/fault.c:1542) ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) ? amdgpu_atif_query_backlight_caps.constprop.0 (drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:387 (discriminator 2)) amdgpu ? amdgpu_atif_query_backlight_caps.constprop.0 (drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:386 (discriminator 1)) amdgpu ```  It has been encountered on at least one system, so guard for it.  (cherry picked from commit c9b7c809b89f24e9372a4e7f02d64c950b07fdee)",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50205",
                        "url": "https://ubuntu.com/security/CVE-2024-50205",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: firewire-lib: Avoid division by zero in apply_constraint_to_size()  The step variable is initialized to zero. It is changed in the loop, but if it's not changed it will remain zero. Add a variable check before the division.  The observed behavior was introduced by commit 826b5de90c0b (\"ALSA: firewire-lib: fix insufficient PCM rule for period/buffer size\"), and it is difficult to show that any of the interval parameters will satisfy the snd_interval_test() condition with data from the amdtp_rate_table[] table.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50127",
                        "url": "https://ubuntu.com/security/CVE-2024-50127",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: sched: fix use-after-free in taprio_change()  In 'taprio_change()', 'admin' pointer may become dangling due to sched switch / removal caused by 'advance_sched()', and critical section protected by 'q->current_entry_lock' is too small to prevent from such a scenario (which causes use-after-free detected by KASAN). Fix this by prefer 'rcu_replace_pointer()' over 'rcu_assign_pointer()' to update 'admin' immediately before an attempt to schedule freeing.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50167",
                        "url": "https://ubuntu.com/security/CVE-2024-50167",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  be2net: fix potential memory leak in be_xmit()  The be_xmit() returns NETDEV_TX_OK without freeing skb in case of be_xmit_enqueue() fails, add dev_kfree_skb_any() to fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50168",
                        "url": "https://ubuntu.com/security/CVE-2024-50168",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sun3_82586: fix potential memory leak in sun3_82586_send_packet()  The sun3_82586_send_packet() returns NETDEV_TX_OK without freeing skb in case of skb->len being too long, add dev_kfree_skb() to fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50131",
                        "url": "https://ubuntu.com/security/CVE-2024-50131",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Consider the NULL character when validating the event length  strlen() returns a string length excluding the null byte. If the string length equals to the maximum buffer length, the buffer will have no space for the NULL terminating character.  This commit checks this condition and returns failure for it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50143",
                        "url": "https://ubuntu.com/security/CVE-2024-50143",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  udf: fix uninit-value use in udf_get_fileshortad  Check for overflow when computing alen in udf_current_aext to mitigate later uninit-value use in udf_get_fileshortad KMSAN bug[1]. After applying the patch reproducer did not trigger any issue[2].  [1] https://syzkaller.appspot.com/bug?extid=8901c4560b7ab5c2f9df [2] https://syzkaller.appspot.com/x/log.txt?x=10242227980000",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50134",
                        "url": "https://ubuntu.com/security/CVE-2024-50134",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/vboxvideo: Replace fake VLA at end of vbva_mouse_pointer_shape with real VLA  Replace the fake VLA at end of the vbva_mouse_pointer_shape shape with a real VLA to fix a \"memcpy: detected field-spanning write error\" warning:  [   13.319813] memcpy: detected field-spanning write (size 16896) of single field \"p->data\" at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 (size 4) [   13.319841] WARNING: CPU: 0 PID: 1105 at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 hgsmi_update_pointer_shape+0x192/0x1c0 [vboxvideo] [   13.320038] Call Trace: [   13.320173]  hgsmi_update_pointer_shape [vboxvideo] [   13.320184]  vbox_cursor_atomic_update [vboxvideo]  Note as mentioned in the added comment it seems the original length calculation for the allocated and send hgsmi buffer is 4 bytes too large. Changing this is not the goal of this patch, so this behavior is kept.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50194",
                        "url": "https://ubuntu.com/security/CVE-2024-50194",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: probes: Fix uprobes for big-endian kernels  The arm64 uprobes code is broken for big-endian kernels as it doesn't convert the in-memory instruction encoding (which is always little-endian) into the kernel's native endianness before analyzing and simulating instructions. This may result in a few distinct problems:  * The kernel may may erroneously reject probing an instruction which can   safely be probed.  * The kernel may erroneously erroneously permit stepping an   instruction out-of-line when that instruction cannot be stepped   out-of-line safely.  * The kernel may erroneously simulate instruction incorrectly dur to   interpretting the byte-swapped encoding.  The endianness mismatch isn't caught by the compiler or sparse because:  * The arch_uprobe::{insn,ixol} fields are encoded as arrays of u8, so   the compiler and sparse have no idea these contain a little-endian   32-bit value. The core uprobes code populates these with a memcpy()   which similarly does not handle endianness.  * While the uprobe_opcode_t type is an alias for __le32, both   arch_uprobe_analyze_insn() and arch_uprobe_skip_sstep() cast from u8[]   to the similarly-named probe_opcode_t, which is an alias for u32.   Hence there is no endianness conversion warning.  Fix this by changing the arch_uprobe::{insn,ixol} fields to __le32 and adding the appropriate __le32_to_cpu() conversions prior to consuming the instruction encoding. The core uprobes copies these fields as opaque ranges of bytes, and so is unaffected by this change.  At the same time, remove MAX_UINSN_BYTES and consistently use AARCH64_INSN_SIZE for clarity.  Tested with the following:  | #include <stdio.h> | #include <stdbool.h> | | #define noinline __attribute__((noinline)) | | static noinline void *adrp_self(void) | { |         void *addr; | |         asm volatile( |         \"       adrp    %x0, adrp_self\\n\" |         \"       add     %x0, %x0, :lo12:adrp_self\\n\" |         : \"=r\" (addr)); | } | | | int main(int argc, char *argv) | { |         void *ptr = adrp_self(); |         bool equal = (ptr == adrp_self); | |         printf(\"adrp_self   => %p\\n\" |                \"adrp_self() => %p\\n\" |                \"%s\\n\", |                adrp_self, ptr, equal ? \"EQUAL\" : \"NOT EQUAL\"); | |         return 0; | }  .... where the adrp_self() function was compiled to:  | 00000000004007e0 <adrp_self>: |   4007e0:       90000000        adrp    x0, 400000 <__ehdr_start> |   4007e4:       911f8000        add     x0, x0, #0x7e0 |   4007e8:       d65f03c0        ret  Before this patch, the ADRP is not recognized, and is assumed to be steppable, resulting in corruption of the result:  | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL | # echo 'p /root/adrp-self:0x007e0' > /sys/kernel/tracing/uprobe_events | # echo 1 > /sys/kernel/tracing/events/uprobes/enable | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0xffffffffff7e0 | NOT EQUAL  After this patch, the ADRP is correctly recognized and simulated:  | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL | # | # echo 'p /root/adrp-self:0x007e0' > /sys/kernel/tracing/uprobe_events | # echo 1 > /sys/kernel/tracing/events/uprobes/enable | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50148",
                        "url": "https://ubuntu.com/security/CVE-2024-50148",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: bnep: fix wild-memory-access in proto_unregister  There's issue as follows:   KASAN: maybe wild-memory-access in range [0xdead...108-0xdead...10f]   CPU: 3 UID: 0 PID: 2805 Comm: rmmod Tainted: G        W   RIP: 0010:proto_unregister+0xee/0x400   Call Trace:    <TASK>    __do_sys_delete_module+0x318/0x580    do_syscall_64+0xc1/0x1d0    entry_SYSCALL_64_after_hwframe+0x77/0x7f  As bnep_init() ignore bnep_sock_init()'s return value, and bnep_sock_init() will cleanup all resource. Then when remove bnep module will call bnep_sock_cleanup() to cleanup sock's resource. To solve above issue just return bnep_sock_init()'s return value in bnep_exit().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50150",
                        "url": "https://ubuntu.com/security/CVE-2024-50150",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: altmode should keep reference to parent  The altmode device release refers to its parent device, but without keeping a reference to it.  When registering the altmode, get a reference to the parent and put it in the release function.  Before this fix, when using CONFIG_DEBUG_KOBJECT_RELEASE, we see issues like this:  [   43.572860] kobject: 'port0.0' (ffff8880057ba008): kobject_release, parent 0000000000000000 (delayed 3000) [   43.573532] kobject: 'port0.1' (ffff8880057bd008): kobject_release, parent 0000000000000000 (delayed 1000) [   43.574407] kobject: 'port0' (ffff8880057b9008): kobject_release, parent 0000000000000000 (delayed 3000) [   43.575059] kobject: 'port1.0' (ffff8880057ca008): kobject_release, parent 0000000000000000 (delayed 4000) [   43.575908] kobject: 'port1.1' (ffff8880057c9008): kobject_release, parent 0000000000000000 (delayed 4000) [   43.576908] kobject: 'typec' (ffff8880062dbc00): kobject_release, parent 0000000000000000 (delayed 4000) [   43.577769] kobject: 'port1' (ffff8880057bf008): kobject_release, parent 0000000000000000 (delayed 3000) [   46.612867] ================================================================== [   46.613402] BUG: KASAN: slab-use-after-free in typec_altmode_release+0x38/0x129 [   46.614003] Read of size 8 at addr ffff8880057b9118 by task kworker/2:1/48 [   46.614538] [   46.614668] CPU: 2 UID: 0 PID: 48 Comm: kworker/2:1 Not tainted 6.12.0-rc1-00138-gedbae730ad31 #535 [   46.615391] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014 [   46.616042] Workqueue: events kobject_delayed_cleanup [   46.616446] Call Trace: [   46.616648]  <TASK> [   46.616820]  dump_stack_lvl+0x5b/0x7c [   46.617112]  ? typec_altmode_release+0x38/0x129 [   46.617470]  print_report+0x14c/0x49e [   46.617769]  ? rcu_read_unlock_sched+0x56/0x69 [   46.618117]  ? __virt_addr_valid+0x19a/0x1ab [   46.618456]  ? kmem_cache_debug_flags+0xc/0x1d [   46.618807]  ? typec_altmode_release+0x38/0x129 [   46.619161]  kasan_report+0x8d/0xb4 [   46.619447]  ? typec_altmode_release+0x38/0x129 [   46.619809]  ? process_scheduled_works+0x3cb/0x85f [   46.620185]  typec_altmode_release+0x38/0x129 [   46.620537]  ? process_scheduled_works+0x3cb/0x85f [   46.620907]  device_release+0xaf/0xf2 [   46.621206]  kobject_delayed_cleanup+0x13b/0x17a [   46.621584]  process_scheduled_works+0x4f6/0x85f [   46.621955]  ? __pfx_process_scheduled_works+0x10/0x10 [   46.622353]  ? hlock_class+0x31/0x9a [   46.622647]  ? lock_acquired+0x361/0x3c3 [   46.622956]  ? move_linked_works+0x46/0x7d [   46.623277]  worker_thread+0x1ce/0x291 [   46.623582]  ? __kthread_parkme+0xc8/0xdf [   46.623900]  ? __pfx_worker_thread+0x10/0x10 [   46.624236]  kthread+0x17e/0x190 [   46.624501]  ? kthread+0xfb/0x190 [   46.624756]  ? __pfx_kthread+0x10/0x10 [   46.625015]  ret_from_fork+0x20/0x40 [   46.625268]  ? __pfx_kthread+0x10/0x10 [   46.625532]  ret_from_fork_asm+0x1a/0x30 [   46.625805]  </TASK> [   46.625953] [   46.626056] Allocated by task 678: [   46.626287]  kasan_save_stack+0x24/0x44 [   46.626555]  kasan_save_track+0x14/0x2d [   46.626811]  __kasan_kmalloc+0x3f/0x4d [   46.627049]  __kmalloc_noprof+0x1bf/0x1f0 [   46.627362]  typec_register_port+0x23/0x491 [   46.627698]  cros_typec_probe+0x634/0xbb6 [   46.628026]  platform_probe+0x47/0x8c [   46.628311]  really_probe+0x20a/0x47d [   46.628605]  device_driver_attach+0x39/0x72 [   46.628940]  bind_store+0x87/0xd7 [   46.629213]  kernfs_fop_write_iter+0x1aa/0x218 [   46.629574]  vfs_write+0x1d6/0x29b [   46.629856]  ksys_write+0xcd/0x13b [   46.630128]  do_syscall_64+0xd4/0x139 [   46.630420]  entry_SYSCALL_64_after_hwframe+0x76/0x7e [   46.630820] [   46.630946] Freed by task 48: [   46.631182]  kasan_save_stack+0x24/0x44 [   46.631493]  kasan_save_track+0x14/0x2d [   46.631799]  kasan_save_free_info+0x3f/0x4d [   46.632144]  __kasan_slab_free+0x37/0x45 [   46.632474] ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50151",
                        "url": "https://ubuntu.com/security/CVE-2024-50151",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smb: client: fix OOBs when building SMB2_IOCTL request  When using encryption, either enforced by the server or when using 'seal' mount option, the client will squash all compound request buffers down for encryption into a single iov in smb2_set_next_command().  SMB2_ioctl_init() allocates a small buffer (448 bytes) to hold the SMB2_IOCTL request in the first iov, and if the user passes an input buffer that is greater than 328 bytes, smb2_set_next_command() will end up writing off the end of @rqst->iov[0].iov_base as shown below:    mount.cifs //srv/share /mnt -o ...,seal   ln -s $(perl -e \"print('a')for 1..1024\") /mnt/link    BUG: KASAN: slab-out-of-bounds in   smb2_set_next_command.cold+0x1d6/0x24c [cifs]   Write of size 4116 at addr ffff8881148fcab8 by task ln/859    CPU: 1 UID: 0 PID: 859 Comm: ln Not tainted 6.12.0-rc3 #1   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS   1.16.3-2.fc40 04/01/2014   Call Trace:    <TASK>    dump_stack_lvl+0x5d/0x80    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    print_report+0x156/0x4d9    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    ? __virt_addr_valid+0x145/0x310    ? __phys_addr+0x46/0x90    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    kasan_report+0xda/0x110    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    kasan_check_range+0x10f/0x1f0    __asan_memcpy+0x3c/0x60    smb2_set_next_command.cold+0x1d6/0x24c [cifs]    smb2_compound_op+0x238c/0x3840 [cifs]    ? kasan_save_track+0x14/0x30    ? kasan_save_free_info+0x3b/0x70    ? vfs_symlink+0x1a1/0x2c0    ? do_symlinkat+0x108/0x1c0    ? __pfx_smb2_compound_op+0x10/0x10 [cifs]    ? kmem_cache_free+0x118/0x3e0    ? cifs_get_writable_path+0xeb/0x1a0 [cifs]    smb2_get_reparse_inode+0x423/0x540 [cifs]    ? __pfx_smb2_get_reparse_inode+0x10/0x10 [cifs]    ? rcu_is_watching+0x20/0x50    ? __kmalloc_noprof+0x37c/0x480    ? smb2_create_reparse_symlink+0x257/0x490 [cifs]    ? smb2_create_reparse_symlink+0x38f/0x490 [cifs]    smb2_create_reparse_symlink+0x38f/0x490 [cifs]    ? __pfx_smb2_create_reparse_symlink+0x10/0x10 [cifs]    ? find_held_lock+0x8a/0xa0    ? hlock_class+0x32/0xb0    ? __build_path_from_dentry_optional_prefix+0x19d/0x2e0 [cifs]    cifs_symlink+0x24f/0x960 [cifs]    ? __pfx_make_vfsuid+0x10/0x10    ? __pfx_cifs_symlink+0x10/0x10 [cifs]    ? make_vfsgid+0x6b/0xc0    ? generic_permission+0x96/0x2d0    vfs_symlink+0x1a1/0x2c0    do_symlinkat+0x108/0x1c0    ? __pfx_do_symlinkat+0x10/0x10    ? strncpy_from_user+0xaa/0x160    __x64_sys_symlinkat+0xb9/0xf0    do_syscall_64+0xbb/0x1d0    entry_SYSCALL_64_after_hwframe+0x77/0x7f   RIP: 0033:0x7f08d75c13bb",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50171",
                        "url": "https://ubuntu.com/security/CVE-2024-50171",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: systemport: fix potential memory leak in bcm_sysport_xmit()  The bcm_sysport_xmit() returns NETDEV_TX_OK without freeing skb in case of dma_map_single() fails, add dev_kfree_skb() to fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-07 10:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50202",
                        "url": "https://ubuntu.com/security/CVE-2024-50202",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: propagate directory read errors from nilfs_find_entry()  Syzbot reported that a task hang occurs in vcs_open() during a fuzzing test for nilfs2.  The root cause of this problem is that in nilfs_find_entry(), which searches for directory entries, ignores errors when loading a directory page/folio via nilfs_get_folio() fails.  If the filesystem images is corrupted, and the i_size of the directory inode is large, and the directory page/folio is successfully read but fails the sanity check, for example when it is zero-filled, nilfs_check_folio() may continue to spit out error messages in bursts.  Fix this issue by propagating the error to the callers when loading a page/folio fails in nilfs_find_entry().  The current interface of nilfs_find_entry() and its callers is outdated and cannot propagate error codes such as -EIO and -ENOMEM returned via nilfs_find_entry(), so fix it together.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50074",
                        "url": "https://ubuntu.com/security/CVE-2024-50074",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parport: Proper fix for array out-of-bounds access  The recent fix for array out-of-bounds accesses replaced sprintf() calls blindly with snprintf().  However, since snprintf() returns the would-be-printed size, not the actually output size, the length calculation can still go over the given limit.  Use scnprintf() instead of snprintf(), which returns the actually output letters, for addressing the potential out-of-bounds access properly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-29 01:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50082",
                        "url": "https://ubuntu.com/security/CVE-2024-50082",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  blk-rq-qos: fix crash on rq_qos_wait vs. rq_qos_wake_function race  We're seeing crashes from rq_qos_wake_function that look like this:    BUG: unable to handle page fault for address: ffffafe180a40084   #PF: supervisor write access in kernel mode   #PF: error_code(0x0002) - not-present page   PGD 100000067 P4D 100000067 PUD 10027c067 PMD 10115d067 PTE 0   Oops: Oops: 0002 [#1] PREEMPT SMP PTI   CPU: 17 UID: 0 PID: 0 Comm: swapper/17 Not tainted 6.12.0-rc3-00013-geca631b8fe80 #11   Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014   RIP: 0010:_raw_spin_lock_irqsave+0x1d/0x40   Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 41 54 9c 41 5c fa 65 ff 05 62 97 30 4c 31 c0 ba 01 00 00 00 <f0> 0f b1 17 75 0a 4c 89 e0 41 5c c3 cc cc cc cc 89 c6 e8 2c 0b 00   RSP: 0018:ffffafe180580ca0 EFLAGS: 00010046   RAX: 0000000000000000 RBX: ffffafe180a3f7a8 RCX: 0000000000000011   RDX: 0000000000000001 RSI: 0000000000000003 RDI: ffffafe180a40084   RBP: 0000000000000000 R08: 00000000001e7240 R09: 0000000000000011   R10: 0000000000000028 R11: 0000000000000888 R12: 0000000000000002   R13: ffffafe180a40084 R14: 0000000000000000 R15: 0000000000000003   FS:  0000000000000000(0000) GS:ffff9aaf1f280000(0000) knlGS:0000000000000000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: ffffafe180a40084 CR3: 000000010e428002 CR4: 0000000000770ef0   DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000   DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400   PKRU: 55555554   Call Trace:    <IRQ>    try_to_wake_up+0x5a/0x6a0    rq_qos_wake_function+0x71/0x80    __wake_up_common+0x75/0xa0    __wake_up+0x36/0x60    scale_up.part.0+0x50/0x110    wb_timer_fn+0x227/0x450    ...  So rq_qos_wake_function() calls wake_up_process(data->task), which calls try_to_wake_up(), which faults in raw_spin_lock_irqsave(&p->pi_lock).  p comes from data->task, and data comes from the waitqueue entry, which is stored on the waiter's stack in rq_qos_wait(). Analyzing the core dump with drgn, I found that the waiter had already woken up and moved on to a completely unrelated code path, clobbering what was previously data->task. Meanwhile, the waker was passing the clobbered garbage in data->task to wake_up_process(), leading to the crash.  What's happening is that in between rq_qos_wake_function() deleting the waitqueue entry and calling wake_up_process(), rq_qos_wait() is finding that it already got a token and returning. The race looks like this:  rq_qos_wait()                           rq_qos_wake_function() ============================================================== prepare_to_wait_exclusive()                                         data->got_token = true;                                         list_del_init(&curr->entry); if (data.got_token)         break; finish_wait(&rqw->wait, &data.wq);   ^- returns immediately because      list_empty_careful(&wq_entry->entry)      is true ... return, go do something else ...                                         wake_up_process(data->task)                                           (NO LONGER VALID!)-^  Normally, finish_wait() is supposed to synchronize against the waker. But, as noted above, it is returning immediately because the waitqueue entry has already been removed from the waitqueue.  The bug is that rq_qos_wake_function() is accessing the waitqueue entry AFTER deleting it. Note that autoremove_wake_function() wakes the waiter and THEN deletes the waitqueue entry, which is the proper order.  Fix it by swapping the order. We also need to use list_del_init_careful() to match the list_empty_careful() in finish_wait().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-29 01:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-40953",
                        "url": "https://ubuntu.com/security/CVE-2024-40953",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()  Use {READ,WRITE}_ONCE() to access kvm->last_boosted_vcpu to ensure the loads and stores are atomic.  In the extremely unlikely scenario the compiler tears the stores, it's theoretically possible for KVM to attempt to get a vCPU using an out-of-bounds index, e.g. if the write is split into multiple 8-bit stores, and is paired with a 32-bit load on a VM with 257 vCPUs:    CPU0                              CPU1   last_boosted_vcpu = 0xff;                                      (last_boosted_vcpu = 0x100)                                     last_boosted_vcpu[15:8] = 0x01;   i = (last_boosted_vcpu = 0x1ff)                                     last_boosted_vcpu[7:0] = 0x00;    vcpu = kvm->vcpu_array[0x1ff];  As detected by KCSAN:    BUG: KCSAN: data-race in kvm_vcpu_on_spin [kvm] / kvm_vcpu_on_spin [kvm]    write to 0xffffc90025a92344 of 4 bytes by task 4340 on cpu 16:   kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4112) kvm   handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel   vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? \t\t arch/x86/kvm/vmx/vmx.c:6606) kvm_intel   vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm   kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm   kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm   __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)   __x64_sys_ioctl (fs/ioctl.c:890)   x64_sys_call (arch/x86/entry/syscall_64.c:33)   do_syscall_64 (arch/x86/entry/common.c:?)   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)    read to 0xffffc90025a92344 of 4 bytes by task 4342 on cpu 4:   kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4069) kvm   handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel   vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? \t\t\tarch/x86/kvm/vmx/vmx.c:6606) kvm_intel   vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm   kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm   kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm   __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)   __x64_sys_ioctl (fs/ioctl.c:890)   x64_sys_call (arch/x86/entry/syscall_64.c:33)   do_syscall_64 (arch/x86/entry/common.c:?)   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)    value changed: 0x00000012 -> 0x00000000",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-12 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50199",
                        "url": "https://ubuntu.com/security/CVE-2024-50199",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mm/swapfile: skip HugeTLB pages for unuse_vma  I got a bad pud error and lost a 1GB HugeTLB when calling swapoff.  The problem can be reproduced by the following steps:   1. Allocate an anonymous 1GB HugeTLB and some other anonymous memory.  2. Swapout the above anonymous memory.  3. run swapoff and we will get a bad pud error in kernel message:    mm/pgtable-generic.c:42: bad pud 00000000743d215d(84000001400000e7)  We can tell that pud_clear_bad is called by pud_none_or_clear_bad in unuse_pud_range() by ftrace.  And therefore the HugeTLB pages will never be freed because we lost it from page table.  We can skip HugeTLB pages for unuse_vma to fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50099",
                        "url": "https://ubuntu.com/security/CVE-2024-50099",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: probes: Remove broken LDR (literal) uprobe support  The simulate_ldr_literal() and simulate_ldrsw_literal() functions are unsafe to use for uprobes. Both functions were originally written for use with kprobes, and access memory with plain C accesses. When uprobes was added, these were reused unmodified even though they cannot safely access user memory.  There are three key problems:  1) The plain C accesses do not have corresponding extable entries, and    thus if they encounter a fault the kernel will treat these as    unintentional accesses to user memory, resulting in a BUG() which    will kill the kernel thread, and likely lead to further issues (e.g.    lockup or panic()).  2) The plain C accesses are subject to HW PAN and SW PAN, and so when    either is in use, any attempt to simulate an access to user memory    will fault. Thus neither simulate_ldr_literal() nor    simulate_ldrsw_literal() can do anything useful when simulating a    user instruction on any system with HW PAN or SW PAN.  3) The plain C accesses are privileged, as they run in kernel context,    and in practice can access a small range of kernel virtual addresses.    The instructions they simulate have a range of +/-1MiB, and since the    simulated instructions must itself be a user instructions in the    TTBR0 address range, these can address the final 1MiB of the TTBR1    acddress range by wrapping downwards from an address in the first    1MiB of the TTBR0 address range.     In contemporary kernels the last 8MiB of TTBR1 address range is    reserved, and accesses to this will always fault, meaning this is no    worse than (1).     Historically, it was theoretically possible for the linear map or    vmemmap to spill into the final 8MiB of the TTBR1 address range, but    in practice this is extremely unlikely to occur as this would    require either:     * Having enough physical memory to fill the entire linear map all the      way to the final 1MiB of the TTBR1 address range.     * Getting unlucky with KASLR randomization of the linear map such      that the populated region happens to overlap with the last 1MiB of      the TTBR address range.     ... and in either case if we were to spill into the final page there    would be larger problems as the final page would alias with error    pointers.  Practically speaking, (1) and (2) are the big issues. Given there have been no reports of problems since the broken code was introduced, it appears that no-one is relying on probing these instructions with uprobes.  Avoid these issues by not allowing uprobes on LDR (literal) and LDRSW (literal), limiting the use of simulate_ldr_literal() and simulate_ldrsw_literal() to kprobes. Attempts to place uprobes on LDR (literal) and LDRSW (literal) will be rejected as arm_probe_decode_insn() will return INSN_REJECTED. In future we can consider introducing working uprobes support for these instructions, but this will require more significant work.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50195",
                        "url": "https://ubuntu.com/security/CVE-2024-50195",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  posix-clock: Fix missing timespec64 check in pc_clock_settime()  As Andrew pointed out, it will make sense that the PTP core checked timespec64 struct's tv_sec and tv_nsec range before calling ptp->info->settime64().  As the man manual of clock_settime() said, if tp.tv_sec is negative or tp.tv_nsec is outside the range [0..999,999,999], it should return EINVAL, which include dynamic clocks which handles PTP clock, and the condition is consistent with timespec64_valid(). As Thomas suggested, timespec64_valid() only check the timespec is valid, but not ensure that the time is in a valid range, so check it ahead using timespec64_valid_strict() in pc_clock_settime() and return -EINVAL if not valid.  There are some drivers that use tp->tv_sec and tp->tv_nsec directly to write registers without validity checks and assume that the higher layer has checked it, which is dangerous and will benefit from this, such as hclge_ptp_settime(), igb_ptp_settime_i210(), _rcar_gen4_ptp_settime(), and some drivers can remove the checks of itself.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50096",
                        "url": "https://ubuntu.com/security/CVE-2024-50096",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nouveau/dmem: Fix vulnerability in migrate_to_ram upon copy error  The `nouveau_dmem_copy_one` function ensures that the copy push command is sent to the device firmware but does not track whether it was executed successfully.  In the case of a copy error (e.g., firmware or hardware failure), the copy push command will be sent via the firmware channel, and `nouveau_dmem_copy_one` will likely report success, leading to the `migrate_to_ram` function returning a dirty HIGH_USER page to the user.  This can result in a security vulnerability, as a HIGH_USER page that may contain sensitive or corrupted data could be returned to the user.  To prevent this vulnerability, we allocate a zero page. Thus, in case of an error, a non-dirty (zero) page will be returned to the user.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 17:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50024",
                        "url": "https://ubuntu.com/security/CVE-2024-50024",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: Fix an unsafe loop on the list  The kernel may crash when deleting a genetlink family if there are still listeners for that family:  Oops: Kernel access of bad area, sig: 11 [#1]   ...   NIP [c000000000c080bc] netlink_update_socket_mc+0x3c/0xc0   LR [c000000000c0f764] __netlink_clear_multicast_users+0x74/0xc0   Call Trace: __netlink_clear_multicast_users+0x74/0xc0 genl_unregister_family+0xd4/0x2d0  Change the unsafe loop on the list to a safe one, because inside the loop there is an element removal from this list.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49878",
                        "url": "https://ubuntu.com/security/CVE-2024-49878",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  resource: fix region_intersects() vs add_memory_driver_managed()  On a system with CXL memory, the resource tree (/proc/iomem) related to CXL memory may look like something as follows.  490000000-50fffffff : CXL Window 0   490000000-50fffffff : region0     490000000-50fffffff : dax0.0       490000000-50fffffff : System RAM (kmem)  Because drivers/dax/kmem.c calls add_memory_driver_managed() during onlining CXL memory, which makes \"System RAM (kmem)\" a descendant of \"CXL Window X\".  This confuses region_intersects(), which expects all \"System RAM\" resources to be at the top level of iomem_resource.  This can lead to bugs.  For example, when the following command line is executed to write some memory in CXL memory range via /dev/mem,   $ dd if=data of=/dev/mem bs=$((1 << 10)) seek=$((0x490000000 >> 10)) count=1  dd: error writing '/dev/mem': Bad address  1+0 records in  0+0 records out  0 bytes copied, 0.0283507 s, 0.0 kB/s  the command fails as expected.  However, the error code is wrong.  It should be \"Operation not permitted\" instead of \"Bad address\".  More seriously, the /dev/mem permission checking in devmem_is_allowed() passes incorrectly.  Although the accessing is prevented later because ioremap() isn't allowed to map system RAM, it is a potential security issue.  During command executing, the following warning is reported in the kernel log for calling ioremap() on system RAM.   ioremap on RAM at 0x0000000490000000 - 0x0000000490000fff  WARNING: CPU: 2 PID: 416 at arch/x86/mm/ioremap.c:216 __ioremap_caller.constprop.0+0x131/0x35d  Call Trace:   memremap+0xcb/0x184   xlate_dev_mem_ptr+0x25/0x2f   write_mem+0x94/0xfb   vfs_write+0x128/0x26d   ksys_write+0xac/0xfe   do_syscall_64+0x9a/0xfd   entry_SYSCALL_64_after_hwframe+0x4b/0x53  The details of command execution process are as follows.  In the above resource tree, \"System RAM\" is a descendant of \"CXL Window 0\" instead of a top level resource.  So, region_intersects() will report no System RAM resources in the CXL memory region incorrectly, because it only checks the top level resources.  Consequently, devmem_is_allowed() will return 1 (allow access via /dev/mem) for CXL memory region incorrectly. Fortunately, ioremap() doesn't allow to map System RAM and reject the access.  So, region_intersects() needs to be fixed to work correctly with the resource tree with \"System RAM\" not at top level as above.  To fix it, if we found a unmatched resource in the top level, we will continue to search matched resources in its descendant resources.  So, we will not miss any matched resources in resource tree anymore.  In the new implementation, an example resource tree  |------------- \"CXL Window 0\" ------------| |-- \"System RAM\" --|  will behave similar as the following fake resource tree for region_intersects(, IORESOURCE_SYSTEM_RAM, ),  |-- \"System RAM\" --||-- \"CXL Window 0a\" --|  Where \"CXL Window 0a\" is part of the original \"CXL Window 0\" that isn't covered by \"System RAM\".",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50033",
                        "url": "https://ubuntu.com/security/CVE-2024-50033",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  slip: make slhc_remember() more robust against malicious packets  syzbot found that slhc_remember() was missing checks against malicious packets [1].  slhc_remember() only checked the size of the packet was at least 20, which is not good enough.  We need to make sure the packet includes the IPv4 and TCP header that are supposed to be carried.  Add iph and th pointers to make the code more readable.  [1]  BUG: KMSAN: uninit-value in slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666   slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666   ppp_receive_nonmp_frame+0xe45/0x35e0 drivers/net/ppp/ppp_generic.c:2455   ppp_receive_frame drivers/net/ppp/ppp_generic.c:2372 [inline]   ppp_do_recv+0x65f/0x40d0 drivers/net/ppp/ppp_generic.c:2212   ppp_input+0x7dc/0xe60 drivers/net/ppp/ppp_generic.c:2327   pppoe_rcv_core+0x1d3/0x720 drivers/net/ppp/pppoe.c:379   sk_backlog_rcv+0x13b/0x420 include/net/sock.h:1113   __release_sock+0x1da/0x330 net/core/sock.c:3072   release_sock+0x6b/0x250 net/core/sock.c:3626   pppoe_sendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was created at:   slab_post_alloc_hook mm/slub.c:4091 [inline]   slab_alloc_node mm/slub.c:4134 [inline]   kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4186   kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:587   __alloc_skb+0x363/0x7b0 net/core/skbuff.c:678   alloc_skb include/linux/skbuff.h:1322 [inline]   sock_wmalloc+0xfe/0x1a0 net/core/sock.c:2732   pppoe_sendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  CPU: 0 UID: 0 PID: 5460 Comm: syz.2.33 Not tainted 6.12.0-rc2-syzkaller-00006-g87d6aab2389e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50035",
                        "url": "https://ubuntu.com/security/CVE-2024-50035",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ppp: fix ppp_async_encode() illegal access  syzbot reported an issue in ppp_async_encode() [1]  In this case, pppoe_sendmsg() is called with a zero size. Then ppp_async_encode() is called with an empty skb.  BUG: KMSAN: uninit-value in ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline]  BUG: KMSAN: uninit-value in ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675   ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline]   ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675   ppp_async_send+0x130/0x1b0 drivers/net/ppp/ppp_async.c:634   ppp_channel_bridge_input drivers/net/ppp/ppp_generic.c:2280 [inline]   ppp_input+0x1f1/0xe60 drivers/net/ppp/ppp_generic.c:2304   pppoe_rcv_core+0x1d3/0x720 drivers/net/ppp/pppoe.c:379   sk_backlog_rcv+0x13b/0x420 include/net/sock.h:1113   __release_sock+0x1da/0x330 net/core/sock.c:3072   release_sock+0x6b/0x250 net/core/sock.c:3626   pppoe_sendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was created at:   slab_post_alloc_hook mm/slub.c:4092 [inline]   slab_alloc_node mm/slub.c:4135 [inline]   kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4187   kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:587   __alloc_skb+0x363/0x7b0 net/core/skbuff.c:678   alloc_skb include/linux/skbuff.h:1322 [inline]   sock_wmalloc+0xfe/0x1a0 net/core/sock.c:2732   pppoe_sendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  CPU: 1 UID: 0 PID: 5411 Comm: syz.1.14 Not tainted 6.12.0-rc1-syzkaller-00165-g360c1f1f24c6 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50039",
                        "url": "https://ubuntu.com/security/CVE-2024-50039",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: accept TCA_STAB only for root qdisc  Most qdiscs maintain their backlog using qdisc_pkt_len(skb) on the assumption it is invariant between the enqueue() and dequeue() handlers.  Unfortunately syzbot can crash a host rather easily using a TBF + SFQ combination, with an STAB on SFQ [1]  We can't support TCA_STAB on arbitrary level, this would require to maintain per-qdisc storage.  [1] [   88.796496] BUG: kernel NULL pointer dereference, address: 0000000000000000 [   88.798611] #PF: supervisor read access in kernel mode [   88.799014] #PF: error_code(0x0000) - not-present page [   88.799506] PGD 0 P4D 0 [   88.799829] Oops: Oops: 0000 [#1] SMP NOPTI [   88.800569] CPU: 14 UID: 0 PID: 2053 Comm: b371744477 Not tainted 6.12.0-rc1-virtme #1117 [   88.801107] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [   88.801779] RIP: 0010:sfq_dequeue (net/sched/sch_sfq.c:272 net/sched/sch_sfq.c:499) sch_sfq [ 88.802544] Code: 0f b7 50 12 48 8d 04 d5 00 00 00 00 48 89 d6 48 29 d0 48 8b 91 c0 01 00 00 48 c1 e0 03 48 01 c2 66 83 7a 1a 00 7e c0 48 8b 3a <4c> 8b 07 4c 89 02 49 89 50 08 48 c7 47 08 00 00 00 00 48 c7 07 00 All code ========    0:\t0f b7 50 12          \tmovzwl 0x12(%rax),%edx    4:\t48 8d 04 d5 00 00 00 \tlea    0x0(,%rdx,8),%rax    b:\t00    c:\t48 89 d6             \tmov    %rdx,%rsi    f:\t48 29 d0             \tsub    %rdx,%rax   12:\t48 8b 91 c0 01 00 00 \tmov    0x1c0(%rcx),%rdx   19:\t48 c1 e0 03          \tshl    $0x3,%rax   1d:\t48 01 c2             \tadd    %rax,%rdx   20:\t66 83 7a 1a 00       \tcmpw   $0x0,0x1a(%rdx)   25:\t7e c0                \tjle    0xffffffffffffffe7   27:\t48 8b 3a             \tmov    (%rdx),%rdi   2a:*\t4c 8b 07             \tmov    (%rdi),%r8\t\t<-- trapping instruction   2d:\t4c 89 02             \tmov    %r8,(%rdx)   30:\t49 89 50 08          \tmov    %rdx,0x8(%r8)   34:\t48 c7 47 08 00 00 00 \tmovq   $0x0,0x8(%rdi)   3b:\t00   3c:\t48                   \trex.W   3d:\tc7                   \t.byte 0xc7   3e:\t07                   \t(bad) \t...  Code starting with the faulting instruction ===========================================    0:\t4c 8b 07             \tmov    (%rdi),%r8    3:\t4c 89 02             \tmov    %r8,(%rdx)    6:\t49 89 50 08          \tmov    %rdx,0x8(%r8)    a:\t48 c7 47 08 00 00 00 \tmovq   $0x0,0x8(%rdi)   11:\t00   12:\t48                   \trex.W   13:\tc7                   \t.byte 0xc7   14:\t07                   \t(bad) \t... [   88.803721] RSP: 0018:ffff9a1f892b7d58 EFLAGS: 00000206 [   88.804032] RAX: 0000000000000000 RBX: ffff9a1f8420c800 RCX: ffff9a1f8420c800 [   88.804560] RDX: ffff9a1f81bc1440 RSI: 0000000000000000 RDI: 0000000000000000 [   88.805056] RBP: ffffffffc04bb0e0 R08: 0000000000000001 R09: 00000000ff7f9a1f [   88.805473] R10: 000000000001001b R11: 0000000000009a1f R12: 0000000000000140 [   88.806194] R13: 0000000000000001 R14: ffff9a1f886df400 R15: ffff9a1f886df4ac [   88.806734] FS:  00007f445601a740(0000) GS:ffff9a2e7fd80000(0000) knlGS:0000000000000000 [   88.807225] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [   88.807672] CR2: 0000000000000000 CR3: 000000050cc46000 CR4: 00000000000006f0 [   88.808165] Call Trace: [   88.808459]  <TASK> [   88.808710] ? __die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434) [   88.809261] ? page_fault_oops (arch/x86/mm/fault.c:715) [   88.809561] ? exc_page_fault (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:87 ./arch/x86/include/asm/irqflags.h:147 arch/x86/mm/fault.c:1489 arch/x86/mm/fault.c:1539) [   88.809806] ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) [   88.810074] ? sfq_dequeue (net/sched/sch_sfq.c:272 net/sched/sch_sfq.c:499) sch_sfq [   88.810411] sfq_reset (net/sched/sch_sfq.c:525) sch_sfq [   88.810671] qdisc_reset (./include/linux/skbuff.h:2135 ./include/linux/skbuff.h:2441 ./include/linux/skbuff.h:3304 ./include/linux/skbuff.h:3310 net/sched/sch_g ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50040",
                        "url": "https://ubuntu.com/security/CVE-2024-50040",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  igb: Do not bring the device up after non-fatal error  Commit 004d25060c78 (\"igb: Fix igb_down hung on surprise removal\") changed igb_io_error_detected() to ignore non-fatal pcie errors in order to avoid hung task that can happen when igb_down() is called multiple times. This caused an issue when processing transient non-fatal errors. igb_io_resume(), which is called after igb_io_error_detected(), assumes that device is brought down by igb_io_error_detected() if the interface is up. This resulted in panic with stacktrace below.  [ T3256] igb 0000:09:00.0 haeth0: igb: haeth0 NIC Link is Down [  T292] pcieport 0000:00:1c.5: AER: Uncorrected (Non-Fatal) error received: 0000:09:00.0 [  T292] igb 0000:09:00.0: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Requester ID) [  T292] igb 0000:09:00.0:   device [8086:1537] error status/mask=00004000/00000000 [  T292] igb 0000:09:00.0:    [14] CmpltTO [  200.105524,009][  T292] igb 0000:09:00.0: AER:   TLP Header: 00000000 00000000 00000000 00000000 [  T292] pcieport 0000:00:1c.5: AER: broadcast error_detected message [  T292] igb 0000:09:00.0: Non-correctable non-fatal error reported. [  T292] pcieport 0000:00:1c.5: AER: broadcast mmio_enabled message [  T292] pcieport 0000:00:1c.5: AER: broadcast resume message [  T292] ------------[ cut here ]------------ [  T292] kernel BUG at net/core/dev.c:6539! [  T292] invalid opcode: 0000 [#1] PREEMPT SMP [  T292] RIP: 0010:napi_enable+0x37/0x40 [  T292] Call Trace: [  T292]  <TASK> [  T292]  ? die+0x33/0x90 [  T292]  ? do_trap+0xdc/0x110 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? do_error_trap+0x70/0xb0 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? exc_invalid_op+0x4e/0x70 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? asm_exc_invalid_op+0x16/0x20 [  T292]  ? napi_enable+0x37/0x40 [  T292]  igb_up+0x41/0x150 [  T292]  igb_io_resume+0x25/0x70 [  T292]  report_resume+0x54/0x70 [  T292]  ? report_frozen_detected+0x20/0x20 [  T292]  pci_walk_bus+0x6c/0x90 [  T292]  ? aer_print_port_info+0xa0/0xa0 [  T292]  pcie_do_recovery+0x22f/0x380 [  T292]  aer_process_err_devices+0x110/0x160 [  T292]  aer_isr+0x1c1/0x1e0 [  T292]  ? disable_irq_nosync+0x10/0x10 [  T292]  irq_thread_fn+0x1a/0x60 [  T292]  irq_thread+0xe3/0x1a0 [  T292]  ? irq_set_affinity_notifier+0x120/0x120 [  T292]  ? irq_affinity_notify+0x100/0x100 [  T292]  kthread+0xe2/0x110 [  T292]  ? kthread_complete_and_exit+0x20/0x20 [  T292]  ret_from_fork+0x2d/0x50 [  T292]  ? kthread_complete_and_exit+0x20/0x20 [  T292]  ret_from_fork_asm+0x11/0x20 [  T292]  </TASK>  To fix this issue igb_io_resume() checks if the interface is running and the device is not down this means igb_io_error_detected() did not bring the device down and there is no need to bring it up.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50044",
                        "url": "https://ubuntu.com/security/CVE-2024-50044",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: RFCOMM: FIX possible deadlock in rfcomm_sk_state_change  rfcomm_sk_state_change attempts to use sock_lock so it must never be called with it locked but rfcomm_sock_ioctl always attempt to lock it causing the following trace:  ====================================================== WARNING: possible circular locking dependency detected 6.8.0-syzkaller-08951-gfe46a7dd189e #0 Not tainted ------------------------------------------------------ syz-executor386/5093 is trying to acquire lock: ffff88807c396258 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1671 [inline] ffff88807c396258 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, at: rfcomm_sk_state_change+0x5b/0x310 net/bluetooth/rfcomm/sock.c:73  but task is already holding lock: ffff88807badfd28 (&d->lock){+.+.}-{3:3}, at: __rfcomm_dlc_close+0x226/0x6a0 net/bluetooth/rfcomm/core.c:491",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50045",
                        "url": "https://ubuntu.com/security/CVE-2024-50045",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: br_netfilter: fix panic with metadata_dst skb  Fix a kernel panic in the br_netfilter module when sending untagged traffic via a VxLAN device. This happens during the check for fragmentation in br_nf_dev_queue_xmit.  It is dependent on: 1) the br_netfilter module being loaded; 2) net.bridge.bridge-nf-call-iptables set to 1; 3) a bridge with a VxLAN (single-vxlan-device) netdevice as a bridge port; 4) untagged frames with size higher than the VxLAN MTU forwarded/flooded  When forwarding the untagged packet to the VxLAN bridge port, before the netfilter hooks are called, br_handle_egress_vlan_tunnel is called and changes the skb_dst to the tunnel dst. The tunnel_dst is a metadata type of dst, i.e., skb_valid_dst(skb) is false, and metadata->dst.dev is NULL.  Then in the br_netfilter hooks, in br_nf_dev_queue_xmit, there's a check for frames that needs to be fragmented: frames with higher MTU than the VxLAN device end up calling br_nf_ip_fragment, which in turns call ip_skb_dst_mtu.  The ip_dst_mtu tries to use the skb_dst(skb) as if it was a valid dst with valid dst->dev, thus the crash.  This case was never supported in the first place, so drop the packet instead.  PING 10.0.0.2 (10.0.0.2) from 0.0.0.0 h1-eth0: 2000(2028) bytes of data. [  176.291791] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000110 [  176.292101] Mem abort info: [  176.292184]   ESR = 0x0000000096000004 [  176.292322]   EC = 0x25: DABT (current EL), IL = 32 bits [  176.292530]   SET = 0, FnV = 0 [  176.292709]   EA = 0, S1PTW = 0 [  176.292862]   FSC = 0x04: level 0 translation fault [  176.293013] Data abort info: [  176.293104]   ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [  176.293488]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [  176.293787]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [  176.293995] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000043ef5000 [  176.294166] [0000000000000110] pgd=0000000000000000, p4d=0000000000000000 [  176.294827] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP [  176.295252] Modules linked in: vxlan ip6_udp_tunnel udp_tunnel veth br_netfilter bridge stp llc ipv6 crct10dif_ce [  176.295923] CPU: 0 PID: 188 Comm: ping Not tainted 6.8.0-rc3-g5b3fbd61b9d1 #2 [  176.296314] Hardware name: linux,dummy-virt (DT) [  176.296535] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [  176.296808] pc : br_nf_dev_queue_xmit+0x390/0x4ec [br_netfilter] [  176.297382] lr : br_nf_dev_queue_xmit+0x2ac/0x4ec [br_netfilter] [  176.297636] sp : ffff800080003630 [  176.297743] x29: ffff800080003630 x28: 0000000000000008 x27: ffff6828c49ad9f8 [  176.298093] x26: ffff6828c49ad000 x25: 0000000000000000 x24: 00000000000003e8 [  176.298430] x23: 0000000000000000 x22: ffff6828c4960b40 x21: ffff6828c3b16d28 [  176.298652] x20: ffff6828c3167048 x19: ffff6828c3b16d00 x18: 0000000000000014 [  176.298926] x17: ffffb0476322f000 x16: ffffb7e164023730 x15: 0000000095744632 [  176.299296] x14: ffff6828c3f1c880 x13: 0000000000000002 x12: ffffb7e137926a70 [  176.299574] x11: 0000000000000001 x10: ffff6828c3f1c898 x9 : 0000000000000000 [  176.300049] x8 : ffff6828c49bf070 x7 : 0008460f18d5f20e x6 : f20e0100bebafeca [  176.300302] x5 : ffff6828c7f918fe x4 : ffff6828c49bf070 x3 : 0000000000000000 [  176.300586] x2 : 0000000000000000 x1 : ffff6828c3c7ad00 x0 : ffff6828c7f918f0 [  176.300889] Call trace: [  176.301123]  br_nf_dev_queue_xmit+0x390/0x4ec [br_netfilter] [  176.301411]  br_nf_post_routing+0x2a8/0x3e4 [br_netfilter] [  176.301703]  nf_hook_slow+0x48/0x124 [  176.302060]  br_forward_finish+0xc8/0xe8 [bridge] [  176.302371]  br_nf_hook_thresh+0x124/0x134 [br_netfilter] [  176.302605]  br_nf_forward_finish+0x118/0x22c [br_netfilter] [  176.302824]  br_nf_forward_ip.part.0+0x264/0x290 [br_netfilter] [  176.303136]  br_nf_forward+0x2b8/0x4e0 [br_netfilter] [  176.303359]  nf_hook_slow+0x48/0x124 [  176.303 ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-38544",
                        "url": "https://ubuntu.com/security/CVE-2024-38544",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt In rxe_comp_queue_pkt() an incoming response packet skb is enqueued to the resp_pkts queue and then a decision is made whether to run the completer task inline or schedule it. Finally the skb is dereferenced to bump a 'hw' performance counter. This is wrong because if the completer task is already running in a separate thread it may have already processed the skb and freed it which can cause a seg fault. This has been observed infrequently in testing at high scale. This patch fixes this by changing the order of enqueuing the packet until after the counter is accessed.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-06-19 14:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50180",
                        "url": "https://ubuntu.com/security/CVE-2024-50180",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fbdev: sisfb: Fix strbuf array overflow  The values of the variables xres and yres are placed in strbuf. These variables are obtained from strbuf1. The strbuf1 array contains digit characters and a space if the array contains non-digit characters. Then, when executing sprintf(strbuf, \"%ux%ux8\", xres, yres); more than 16 bytes will be written to strbuf. It is suggested to increase the size of the strbuf array to 24.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50184",
                        "url": "https://ubuntu.com/security/CVE-2024-50184",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  virtio_pmem: Check device status before requesting flush  If a pmem device is in a bad status, the driver side could wait for host ack forever in virtio_pmem_flush(), causing the system to hang.  So add a status check in the beginning of virtio_pmem_flush() to return early if the device is not activated.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50059",
                        "url": "https://ubuntu.com/security/CVE-2024-50059",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition  In the switchtec_ntb_add function, it can call switchtec_ntb_init_sndev function, then &sndev->check_link_status_work is bound with check_link_status_work. switchtec_ntb_link_notification may be called to start the work.  If we remove the module which will call switchtec_ntb_remove to make cleanup, it will free sndev through kfree(sndev), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                 CPU1                          | check_link_status_work switchtec_ntb_remove    | kfree(sndev);           |                         | if (sndev->link_force_down)                         | // use sndev  Fix it by ensuring that the work is canceled before proceeding with the cleanup in switchtec_ntb_remove.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 20:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50089",
                        "url": "https://ubuntu.com/security/CVE-2024-50089",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-05 17:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49955",
                        "url": "https://ubuntu.com/security/CVE-2024-49955",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPI: battery: Fix possible crash when unregistering a battery hook  When a battery hook returns an error when adding a new battery, then the battery hook is automatically unregistered. However the battery hook provider cannot know that, so it will later call battery_hook_unregister() on the already unregistered battery hook, resulting in a crash.  Fix this by using the list head to mark already unregistered battery hooks as already being unregistered so that they can be ignored by battery_hook_unregister().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49973",
                        "url": "https://ubuntu.com/security/CVE-2024-49973",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  r8169: add tally counter fields added with RTL8125  RTL8125 added fields to the tally counter, what may result in the chip dma'ing these new fields to unallocated memory. Therefore make sure that the allocated memory area is big enough to hold all of the tally counter values, even if we use only parts of it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49975",
                        "url": "https://ubuntu.com/security/CVE-2024-49975",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  uprobes: fix kernel info leak via \"[uprobes]\" vma  xol_add_vma() maps the uninitialized page allocated by __create_xol_area() into userspace. On some architectures (x86) this memory is readable even without VM_READ, VM_EXEC results in the same pgprot_t as VM_EXEC|VM_READ, although this doesn't really matter, debugger can read this memory anyway.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49867",
                        "url": "https://ubuntu.com/security/CVE-2024-49867",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: wait for fixup workers before stopping cleaner kthread during umount  During unmount, at close_ctree(), we have the following steps in this order:  1) Park the cleaner kthread - this doesn't destroy the kthread, it basically    halts its execution (wake ups against it work but do nothing);  2) We stop the cleaner kthread - this results in freeing the respective    struct task_struct;  3) We call btrfs_stop_all_workers() which waits for any jobs running in all    the work queues and then free the work queues.  Syzbot reported a case where a fixup worker resulted in a crash when doing a delayed iput on its inode while attempting to wake up the cleaner at btrfs_add_delayed_iput(), because the task_struct of the cleaner kthread was already freed. This can happen during unmount because we don't wait for any fixup workers still running before we call kthread_stop() against the cleaner kthread, which stops and free all its resources.  Fix this by waiting for any fixup workers at close_ctree() before we call kthread_stop() against the cleaner and run pending delayed iputs.  The stack traces reported by syzbot were the following:    BUG: KASAN: slab-use-after-free in __lock_acquire+0x77/0x2050 kernel/locking/lockdep.c:5065   Read of size 8 at addr ffff8880272a8a18 by task kworker/u8:3/52    CPU: 1 UID: 0 PID: 52 Comm: kworker/u8:3 Not tainted 6.12.0-rc1-syzkaller #0   Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024   Workqueue: btrfs-fixup btrfs_work_helper   Call Trace:    <TASK>    __dump_stack lib/dump_stack.c:94 [inline]    dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120    print_address_description mm/kasan/report.c:377 [inline]    print_report+0x169/0x550 mm/kasan/report.c:488    kasan_report+0x143/0x180 mm/kasan/report.c:601    __lock_acquire+0x77/0x2050 kernel/locking/lockdep.c:5065    lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5825    __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]    _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162    class_raw_spinlock_irqsave_constructor include/linux/spinlock.h:551 [inline]    try_to_wake_up+0xb0/0x1480 kernel/sched/core.c:4154    btrfs_writepage_fixup_worker+0xc16/0xdf0 fs/btrfs/inode.c:2842    btrfs_work_helper+0x390/0xc50 fs/btrfs/async-thread.c:314    process_one_work kernel/workqueue.c:3229 [inline]    process_scheduled_works+0xa63/0x1850 kernel/workqueue.c:3310    worker_thread+0x870/0xd30 kernel/workqueue.c:3391    kthread+0x2f0/0x390 kernel/kthread.c:389    ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147    ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244    </TASK>    Allocated by task 2:    kasan_save_stack mm/kasan/common.c:47 [inline]    kasan_save_track+0x3f/0x80 mm/kasan/common.c:68    unpoison_slab_object mm/kasan/common.c:319 [inline]    __kasan_slab_alloc+0x66/0x80 mm/kasan/common.c:345    kasan_slab_alloc include/linux/kasan.h:247 [inline]    slab_post_alloc_hook mm/slub.c:4086 [inline]    slab_alloc_node mm/slub.c:4135 [inline]    kmem_cache_alloc_node_noprof+0x16b/0x320 mm/slub.c:4187    alloc_task_struct_node kernel/fork.c:180 [inline]    dup_task_struct+0x57/0x8c0 kernel/fork.c:1107    copy_process+0x5d1/0x3d50 kernel/fork.c:2206    kernel_clone+0x223/0x880 kernel/fork.c:2787    kernel_thread+0x1bc/0x240 kernel/fork.c:2849    create_kthread kernel/kthread.c:412 [inline]    kthreadd+0x60d/0x810 kernel/kthread.c:765    ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147    ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244    Freed by task 61:    kasan_save_stack mm/kasan/common.c:47 [inline]    kasan_save_track+0x3f/0x80 mm/kasan/common.c:68    kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579    poison_slab_object mm/kasan/common.c:247 [inline]    __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264    kasan_slab_free include/linux/kasan.h:230 [inline]    slab_free_h ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49868",
                        "url": "https://ubuntu.com/security/CVE-2024-49868",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: fix a NULL pointer dereference when failed to start a new trasacntion  [BUG] Syzbot reported a NULL pointer dereference with the following crash:    FAULT_INJECTION: forcing a failure.    start_transaction+0x830/0x1670 fs/btrfs/transaction.c:676    prepare_to_relocate+0x31f/0x4c0 fs/btrfs/relocation.c:3642    relocate_block_group+0x169/0xd20 fs/btrfs/relocation.c:3678   ...   BTRFS info (device loop0): balance: ended with status: -12   Oops: general protection fault, probably for non-canonical address 0xdffffc00000000cc: 0000 [#1] PREEMPT SMP KASAN NOPTI   KASAN: null-ptr-deref in range [0x0000000000000660-0x0000000000000667]   RIP: 0010:btrfs_update_reloc_root+0x362/0xa80 fs/btrfs/relocation.c:926   Call Trace:    <TASK>    commit_fs_roots+0x2ee/0x720 fs/btrfs/transaction.c:1496    btrfs_commit_transaction+0xfaf/0x3740 fs/btrfs/transaction.c:2430    del_balance_item fs/btrfs/volumes.c:3678 [inline]    reset_balance_state+0x25e/0x3c0 fs/btrfs/volumes.c:3742    btrfs_balance+0xead/0x10c0 fs/btrfs/volumes.c:4574    btrfs_ioctl_balance+0x493/0x7c0 fs/btrfs/ioctl.c:3673    vfs_ioctl fs/ioctl.c:51 [inline]    __do_sys_ioctl fs/ioctl.c:907 [inline]    __se_sys_ioctl+0xf9/0x170 fs/ioctl.c:893    do_syscall_x64 arch/x86/entry/common.c:52 [inline]    do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83    entry_SYSCALL_64_after_hwframe+0x77/0x7f  [CAUSE] The allocation failure happens at the start_transaction() inside prepare_to_relocate(), and during the error handling we call unset_reloc_control(), which makes fs_info->balance_ctl to be NULL.  Then we continue the error path cleanup in btrfs_balance() by calling reset_balance_state() which will call del_balance_item() to fully delete the balance item in the root tree.  However during the small window between set_reloc_contrl() and unset_reloc_control(), we can have a subvolume tree update and created a reloc_root for that subvolume.  Then we go into the final btrfs_commit_transaction() of del_balance_item(), and into btrfs_update_reloc_root() inside commit_fs_roots().  That function checks if fs_info->reloc_ctl is in the merge_reloc_tree stage, but since fs_info->reloc_ctl is NULL, it results a NULL pointer dereference.  [FIX] Just add extra check on fs_info->reloc_ctl inside btrfs_update_reloc_root(), before checking fs_info->reloc_ctl->merge_reloc_tree.  That DEAD_RELOC_TREE handling is to prevent further modification to the reloc tree during merge stage, but since there is no reloc_ctl at all, we do not need to bother that.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49981",
                        "url": "https://ubuntu.com/security/CVE-2024-49981",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: venus: fix use after free bug in venus_remove due to race condition  in venus_probe, core->work is bound with venus_sys_error_handler, which is used to handle error. The code use core->sys_err_done to make sync work. The core->work is started in venus_event_notify.  If we call venus_remove, there might be an unfished work. The possible sequence is as follows:  CPU0                  CPU1                       |venus_sys_error_handler venus_remove         | hfi_destroy\t \t\t | venus_hfi_destroy\t | kfree(hdev);\t     |                      |hfi_reinit \t\t\t\t\t |venus_hfi_queues_reinit                      |//use hdev  Fix it by canceling the work in venus_remove.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49982",
                        "url": "https://ubuntu.com/security/CVE-2024-49982",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  aoe: fix the potential use-after-free problem in more places  For fixing CVE-2023-6270, f98364e92662 (\"aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts\") makes tx() calling dev_put() instead of doing in aoecmd_cfg_pkts(). It avoids that the tx() runs into use-after-free.  Then Nicolai Stange found more places in aoe have potential use-after-free problem with tx(). e.g. revalidate(), aoecmd_ata_rw(), resend(), probe() and aoecmd_cfg_rsp(). Those functions also use aoenet_xmit() to push packet to tx queue. So they should also use dev_hold() to increase the refcnt of skb->dev.  On the other hand, moving dev_put() to tx() causes that the refcnt of skb->dev be reduced to a negative value, because corresponding dev_hold() are not called in revalidate(), aoecmd_ata_rw(), resend(), probe(), and aoecmd_cfg_rsp(). This patch fixed this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49877",
                        "url": "https://ubuntu.com/security/CVE-2024-49877",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate  When doing cleanup, if flags without OCFS2_BH_READAHEAD, it may trigger NULL pointer dereference in the following ocfs2_set_buffer_uptodate() if bh is NULL.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49957",
                        "url": "https://ubuntu.com/security/CVE-2024-49957",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix null-ptr-deref when journal load failed.  During the mounting process, if journal_reset() fails because of too short journal, then lead to jbd2_journal_load() fails with NULL j_sb_buffer. Subsequently, ocfs2_journal_shutdown() calls jbd2_journal_flush()->jbd2_cleanup_journal_tail()-> __jbd2_update_log_tail()->jbd2_journal_update_sb_log_tail() ->lock_buffer(journal->j_sb_buffer), resulting in a null-pointer dereference error.  To resolve this issue, we should check the JBD2_LOADED flag to ensure the journal was properly loaded.  Additionally, use journal instead of osb->journal directly to simplify the code.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49965",
                        "url": "https://ubuntu.com/security/CVE-2024-49965",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: remove unreasonable unlock in ocfs2_read_blocks  Patch series \"Misc fixes for ocfs2_read_blocks\", v5.  This series contains 2 fixes for ocfs2_read_blocks().  The first patch fix the issue reported by syzbot, which detects bad unlock balance in ocfs2_read_blocks().  The second patch fixes an issue reported by Heming Zhao when reviewing above fix.   This patch (of 2):  There was a lock release before exiting, so remove the unreasonable unlock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49966",
                        "url": "https://ubuntu.com/security/CVE-2024-49966",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: cancel dqi_sync_work before freeing oinfo  ocfs2_global_read_info() will initialize and schedule dqi_sync_work at the end, if error occurs after successfully reading global quota, it will trigger the following warning with CONFIG_DEBUG_OBJECTS_* enabled:  ODEBUG: free active (active state 0) object: 00000000d8b0ce28 object type: timer_list hint: qsync_work_fn+0x0/0x16c  This reports that there is an active delayed work when freeing oinfo in error handling, so cancel dqi_sync_work first.  BTW, return status instead of -1 when .read_file_info fails.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49958",
                        "url": "https://ubuntu.com/security/CVE-2024-49958",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: reserve space for inline xattr before attaching reflink tree  One of our customers reported a crash and a corrupted ocfs2 filesystem. The crash was due to the detection of corruption.  Upon troubleshooting, the fsck -fn output showed the below corruption  [EXTENT_LIST_FREE] Extent list in owner 33080590 claims 230 as the next free chain record, but fsck believes the largest valid value is 227.  Clamp the next record value? n  The stat output from the debugfs.ocfs2 showed the following corruption where the \"Next Free Rec:\" had overshot the \"Count:\" in the root metadata block.          Inode: 33080590   Mode: 0640   Generation: 2619713622 (0x9c25a856)         FS Generation: 904309833 (0x35e6ac49)         CRC32: 00000000   ECC: 0000         Type: Regular   Attr: 0x0   Flags: Valid         Dynamic Features: (0x16) HasXattr InlineXattr Refcounted         Extended Attributes Block: 0  Extended Attributes Inline Size: 256         User: 0 (root)   Group: 0 (root)   Size: 281320357888         Links: 1   Clusters: 141738         ctime: 0x66911b56 0x316edcb8 -- Fri Jul 12 06:02:30.829349048 2024         atime: 0x66911d6b 0x7f7a28d -- Fri Jul 12 06:11:23.133669517 2024         mtime: 0x66911b56 0x12ed75d7 -- Fri Jul 12 06:02:30.317552087 2024         dtime: 0x0 -- Wed Dec 31 17:00:00 1969         Refcount Block: 2777346         Last Extblk: 2886943   Orphan Slot: 0         Sub Alloc Slot: 0   Sub Alloc Bit: 14         Tree Depth: 1   Count: 227   Next Free Rec: 230         ## Offset        Clusters       Block#         0  0             2310           2776351         1  2310          2139           2777375         2  4449          1221           2778399         3  5670          731            2779423         4  6401          566            2780447         .......          ....           .......         .......          ....           .......  The issue was in the reflink workfow while reserving space for inline xattr.  The problematic function is ocfs2_reflink_xattr_inline().  By the time this function is called the reflink tree is already recreated at the destination inode from the source inode.  At this point, this function reserves space for inline xattrs at the destination inode without even checking if there is space at the root metadata block.  It simply reduces the l_count from 243 to 227 thereby making space of 256 bytes for inline xattr whereas the inode already has extents beyond this index (in this case up to 230), thereby causing corruption.  The fix for this is to reserve space for inline metadata at the destination inode before the reflink tree gets recreated. The customer has verified the fix.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49959",
                        "url": "https://ubuntu.com/security/CVE-2024-49959",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error  In __jbd2_log_wait_for_space(), we might call jbd2_cleanup_journal_tail() to recover some journal space. But if an error occurs while executing jbd2_cleanup_journal_tail() (e.g., an EIO), we don't stop waiting for free space right away, we try other branches, and if j_committing_transaction is NULL (i.e., the tid is 0), we will get the following complain:  ============================================ JBD2: I/O error when updating journal superblock for sdd-8. __jbd2_log_wait_for_space: needed 256 blocks and only had 217 space available __jbd2_log_wait_for_space: no way to get more journal space in sdd-8 ------------[ cut here ]------------ WARNING: CPU: 2 PID: 139804 at fs/jbd2/checkpoint.c:109 __jbd2_log_wait_for_space+0x251/0x2e0 Modules linked in: CPU: 2 PID: 139804 Comm: kworker/u8:3 Not tainted 6.6.0+ #1 RIP: 0010:__jbd2_log_wait_for_space+0x251/0x2e0 Call Trace:  <TASK>  add_transaction_credits+0x5d1/0x5e0  start_this_handle+0x1ef/0x6a0  jbd2__journal_start+0x18b/0x340  ext4_dirty_inode+0x5d/0xb0  __mark_inode_dirty+0xe4/0x5d0  generic_update_time+0x60/0x70 [...] ============================================  So only if jbd2_cleanup_journal_tail() returns 1, i.e., there is nothing to clean up at the moment, continue to try to reclaim free space in other ways.  Note that this fix relies on commit 6f6a6fda2945 (\"jbd2: fix ocfs2 corrupt when updating journal superblock fails\") to make jbd2_cleanup_journal_tail return the correct error code.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49879",
                        "url": "https://ubuntu.com/security/CVE-2024-49879",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm: omapdrm: Add missing check for alloc_ordered_workqueue  As it may return NULL pointer and cause NULL pointer dereference. Add check for the return value of alloc_ordered_workqueue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49882",
                        "url": "https://ubuntu.com/security/CVE-2024-49882",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix double brelse() the buffer of the extents path  In ext4_ext_try_to_merge_up(), set path[1].p_bh to NULL after it has been released, otherwise it may be released twice. An example of what triggers this is as follows:    split2    map    split1 |--------|-------|--------|  ext4_ext_map_blocks  ext4_ext_handle_unwritten_extents   ext4_split_convert_extents    // path->p_depth == 0    ext4_split_extent      // 1. do split1      ext4_split_extent_at        |ext4_ext_insert_extent        |  ext4_ext_create_new_leaf        |    ext4_ext_grow_indepth        |      le16_add_cpu(&neh->eh_depth, 1)        |    ext4_find_extent        |      // return -ENOMEM        |// get error and try zeroout        |path = ext4_find_extent        |  path->p_depth = 1        |ext4_ext_try_to_merge        |  ext4_ext_try_to_merge_up        |    path->p_depth = 0        |    brelse(path[1].p_bh)  ---> not set to NULL here        |// zeroout success      // 2. update path      ext4_find_extent      // 3. do split2      ext4_split_extent_at        ext4_ext_insert_extent          ext4_ext_create_new_leaf            ext4_ext_grow_indepth              le16_add_cpu(&neh->eh_depth, 1)            ext4_find_extent              path[0].p_bh = NULL;              path->p_depth = 1              read_extent_tree_block  ---> return err              // path[1].p_bh is still the old value              ext4_free_ext_path                ext4_ext_drop_refs                  // path->p_depth == 1                  brelse(path[1].p_bh)  ---> brelse a buffer twice  Finally got the following WARRNING when removing the buffer from lru:  ============================================ VFS: brelse: Trying to free free buffer WARNING: CPU: 2 PID: 72 at fs/buffer.c:1241 __brelse+0x58/0x90 CPU: 2 PID: 72 Comm: kworker/u19:1 Not tainted 6.9.0-dirty #716 RIP: 0010:__brelse+0x58/0x90 Call Trace:  <TASK>  __find_get_block+0x6e7/0x810  bdev_getblk+0x2b/0x480  __ext4_get_inode_loc+0x48a/0x1240  ext4_get_inode_loc+0xb2/0x150  ext4_reserve_inode_write+0xb7/0x230  __ext4_mark_inode_dirty+0x144/0x6a0  ext4_ext_insert_extent+0x9c8/0x3230  ext4_ext_map_blocks+0xf45/0x2dc0  ext4_map_blocks+0x724/0x1700  ext4_do_writepages+0x12d6/0x2a70 [...] ============================================",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49883",
                        "url": "https://ubuntu.com/security/CVE-2024-49883",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: aovid use-after-free in ext4_ext_insert_extent()  As Ojaswin mentioned in Link, in ext4_ext_insert_extent(), if the path is reallocated in ext4_ext_create_new_leaf(), we'll use the stale path and cause UAF. Below is a sample trace with dummy values:  ext4_ext_insert_extent   path = *ppath = 2000   ext4_ext_create_new_leaf(ppath)     ext4_find_extent(ppath)       path = *ppath = 2000       if (depth > path[0].p_maxdepth)             kfree(path = 2000);             *ppath = path = NULL;       path = kcalloc() = 3000       *ppath = 3000;       return path;   /* here path is still 2000, UAF! */   eh = path[depth].p_hdr  ================================================================== BUG: KASAN: slab-use-after-free in ext4_ext_insert_extent+0x26d4/0x3330 Read of size 8 at addr ffff8881027bf7d0 by task kworker/u36:1/179 CPU: 3 UID: 0 PID: 179 Comm: kworker/u6:1 Not tainted 6.11.0-rc2-dirty #866 Call Trace:  <TASK>  ext4_ext_insert_extent+0x26d4/0x3330  ext4_ext_map_blocks+0xe22/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800 [...]  Allocated by task 179:  ext4_find_extent+0x81c/0x1f70  ext4_ext_map_blocks+0x146/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800  ext4_writepages+0x26d/0x4e0  do_writepages+0x175/0x700 [...]  Freed by task 179:  kfree+0xcb/0x240  ext4_find_extent+0x7c0/0x1f70  ext4_ext_insert_extent+0xa26/0x3330  ext4_ext_map_blocks+0xe22/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800  ext4_writepages+0x26d/0x4e0  do_writepages+0x175/0x700 [...] ==================================================================  So use *ppath to update the path to avoid the above problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49985",
                        "url": "https://ubuntu.com/security/CVE-2024-49985",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume  In case there is any sort of clock controller attached to this I2C bus controller, for example Versaclock or even an AIC32x4 I2C codec, then an I2C transfer triggered from the clock controller clk_ops .prepare callback may trigger a deadlock on drivers/clk/clk.c prepare_lock mutex.  This is because the clock controller first grabs the prepare_lock mutex and then performs the prepare operation, including its I2C access. The I2C access resumes this I2C bus controller via .runtime_resume callback, which calls clk_prepare_enable(), which attempts to grab the prepare_lock mutex again and deadlocks.  Since the clock are already prepared since probe() and unprepared in remove(), use simple clk_enable()/clk_disable() calls to enable and disable the clock on runtime suspend and resume, to avoid hitting the prepare_lock mutex.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50006",
                        "url": "https://ubuntu.com/security/CVE-2024-50006",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix i_data_sem unlock order in ext4_ind_migrate()  Fuzzing reports a possible deadlock in jbd2_log_wait_commit.  This issue is triggered when an EXT4_IOC_MIGRATE ioctl is set to require synchronous updates because the file descriptor is opened with O_SYNC. This can lead to the jbd2_journal_stop() function calling jbd2_might_wait_for_commit(), potentially causing a deadlock if the EXT4_IOC_MIGRATE call races with a write(2) system call.  This problem only arises when CONFIG_PROVE_LOCKING is enabled. In this case, the jbd2_might_wait_for_commit macro locks jbd2_handle in the jbd2_journal_stop function while i_data_sem is locked. This triggers lockdep because the jbd2_journal_start function might also lock the same jbd2_handle simultaneously.  Found by Linux Verification Center (linuxtesting.org) with syzkaller.  Rule: add",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 19:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49892",
                        "url": "https://ubuntu.com/security/CVE-2024-49892",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Initialize get_bytes_per_element's default to 1  Variables, used as denominators and maybe not assigned to other values, should not be 0. bytes_per_element_y & bytes_per_element_c are initialized by get_bytes_per_element() which should never return 0.  This fixes 10 DIVIDE_BY_ZERO issues reported by Coverity.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49894",
                        "url": "https://ubuntu.com/security/CVE-2024-49894",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Fix index out of bounds in degamma hardware format translation  Fixes index out of bounds issue in `cm_helper_translate_curve_to_degamma_hw_format` function. The issue could occur when the index 'i' exceeds the number of transfer function points (TRANSFER_FUNC_POINTS).  The fix adds a check to ensure 'i' is within bounds before accessing the transfer function points. If 'i' is out of bounds the function returns false to indicate an error.  Reported by smatch: drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:594 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.red' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:595 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.green' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:596 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.blue' 1025 <= s32max",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49896",
                        "url": "https://ubuntu.com/security/CVE-2024-49896",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Check stream before comparing them  [WHAT & HOW] amdgpu_dm can pass a null stream to dc_is_stream_unchanged. It is necessary to check for null before dereferencing them.  This fixes 1 FORWARD_NULL issue reported by Coverity.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49900",
                        "url": "https://ubuntu.com/security/CVE-2024-49900",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: Fix uninit-value access of new_ea in ea_buffer  syzbot reports that lzo1x_1_do_compress is using uninit-value:  ===================================================== BUG: KMSAN: uninit-value in lzo1x_1_do_compress+0x19f9/0x2510 lib/lzo/lzo1x_compress.c:178  ...  Uninit was stored to memory at:  ea_put fs/jfs/xattr.c:639 [inline]  ...  Local variable ea_buf created at:  __jfs_setxattr+0x5d/0x1ae0 fs/jfs/xattr.c:662  __jfs_xattr_set+0xe6/0x1f0 fs/jfs/xattr.c:934  =====================================================  The reason is ea_buf->new_ea is not initialized properly.  Fix this by using memset to empty its content at the beginning in ea_get().",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49902",
                        "url": "https://ubuntu.com/security/CVE-2024-49902",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: check if leafidx greater than num leaves per dmap tree  syzbot report a out of bounds in dbSplit, it because dmt_leafidx greater than num leaves per dmap tree, add a checking for dmt_leafidx in dbFindLeaf.  Shaggy: Modified sanity check to apply to control pages as well as leaf pages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49903",
                        "url": "https://ubuntu.com/security/CVE-2024-49903",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: Fix uaf in dbFreeBits  [syzbot reported] ================================================================== BUG: KASAN: slab-use-after-free in __mutex_lock_common kernel/locking/mutex.c:587 [inline] BUG: KASAN: slab-use-after-free in __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752 Read of size 8 at addr ffff8880229254b0 by task syz-executor357/5216  CPU: 0 UID: 0 PID: 5216 Comm: syz-executor357 Not tainted 6.11.0-rc3-syzkaller-00156-gd7a5aa4b3c00 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024 Call Trace:  <TASK>  __dump_stack lib/dump_stack.c:93 [inline]  dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119  print_address_description mm/kasan/report.c:377 [inline]  print_report+0x169/0x550 mm/kasan/report.c:488  kasan_report+0x143/0x180 mm/kasan/report.c:601  __mutex_lock_common kernel/locking/mutex.c:587 [inline]  __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752  dbFreeBits+0x7ea/0xd90 fs/jfs/jfs_dmap.c:2390  dbFreeDmap fs/jfs/jfs_dmap.c:2089 [inline]  dbFree+0x35b/0x680 fs/jfs/jfs_dmap.c:409  dbDiscardAG+0x8a9/0xa20 fs/jfs/jfs_dmap.c:1650  jfs_ioc_trim+0x433/0x670 fs/jfs/jfs_discard.c:100  jfs_ioctl+0x2d0/0x3e0 fs/jfs/ioctl.c:131  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:907 [inline]  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:893  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  Freed by task 5218:  kasan_save_stack mm/kasan/common.c:47 [inline]  kasan_save_track+0x3f/0x80 mm/kasan/common.c:68  kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579  poison_slab_object+0xe0/0x150 mm/kasan/common.c:240  __kasan_slab_free+0x37/0x60 mm/kasan/common.c:256  kasan_slab_free include/linux/kasan.h:184 [inline]  slab_free_hook mm/slub.c:2252 [inline]  slab_free mm/slub.c:4473 [inline]  kfree+0x149/0x360 mm/slub.c:4594  dbUnmount+0x11d/0x190 fs/jfs/jfs_dmap.c:278  jfs_mount_rw+0x4ac/0x6a0 fs/jfs/jfs_mount.c:247  jfs_remount+0x3d1/0x6b0 fs/jfs/super.c:454  reconfigure_super+0x445/0x880 fs/super.c:1083  vfs_cmd_reconfigure fs/fsopen.c:263 [inline]  vfs_fsconfig_locked fs/fsopen.c:292 [inline]  __do_sys_fsconfig fs/fsopen.c:473 [inline]  __se_sys_fsconfig+0xb6e/0xf80 fs/fsopen.c:345  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  [Analysis] There are two paths (dbUnmount and jfs_ioc_trim) that generate race condition when accessing bmap, which leads to the occurrence of uaf.  Use the lock s_umount to synchronize them, in order to avoid uaf caused by race condition.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49924",
                        "url": "https://ubuntu.com/security/CVE-2024-49924",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fbdev: pxafb: Fix possible use after free in pxafb_task()  In the pxafb_probe function, it calls the pxafb_init_fbinfo function, after which &fbi->task is associated with pxafb_task. Moreover, within this pxafb_init_fbinfo function, the pxafb_blank function within the &pxafb_ops struct is capable of scheduling work.  If we remove the module which will call pxafb_remove to make cleanup, it will call unregister_framebuffer function which can call do_unregister_framebuffer to free fbi->fb through put_fb_info(fb_info), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                                CPU1                                     | pxafb_task pxafb_remove                       | unregister_framebuffer(info)       | do_unregister_framebuffer(fb_info) | put_fb_info(fb_info)               | // free fbi->fb                    | set_ctrlr_state(fbi, state)                                    | __pxafb_lcd_power(fbi, 0)                                    | fbi->lcd_power(on, &fbi->fb.var)                                    | //use fbi->fb  Fix it by ensuring that the work is canceled before proceeding with the cleanup in pxafb_remove.  Note that only root user can remove the driver at runtime.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50007",
                        "url": "https://ubuntu.com/security/CVE-2024-50007",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: asihpi: Fix potential OOB array access  ASIHPI driver stores some values in the static array upon a response from the driver, and its index depends on the firmware.  We shouldn't trust it blindly.  This patch adds a sanity check of the array index to fit in the array size.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 19:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50008",
                        "url": "https://ubuntu.com/security/CVE-2024-50008",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext()  Replace one-element array with a flexible-array member in `struct host_cmd_ds_802_11_scan_ext`.  With this, fix the following warning:  elo 16 17:51:58 surfacebook kernel: ------------[ cut here ]------------ elo 16 17:51:58 surfacebook kernel: memcpy: detected field-spanning write (size 243) of single field \"ext_scan->tlv_buffer\" at drivers/net/wireless/marvell/mwifiex/scan.c:2239 (size 1) elo 16 17:51:58 surfacebook kernel: WARNING: CPU: 0 PID: 498 at drivers/net/wireless/marvell/mwifiex/scan.c:2239 mwifiex_cmd_802_11_scan_ext+0x83/0x90 [mwifiex]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 19:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49995",
                        "url": "https://ubuntu.com/security/CVE-2024-49995",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tipc: guard against string buffer overrun  Smatch reports that copying media_name and if_name to name_parts may overwrite the destination.   .../bearer.c:166 bearer_name_validate() error: strcpy() 'media_name' too large for 'name_parts->media_name' (32 vs 16)  .../bearer.c:167 bearer_name_validate() error: strcpy() 'if_name' too large for 'name_parts->if_name' (1010102 vs 16)  This does seem to be the case so guard against this possibility by using strscpy() and failing if truncation occurs.  Introduced by commit b97bf3fd8f6a (\"[TIPC] Initial merge\")  Compile tested only.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49962",
                        "url": "https://ubuntu.com/security/CVE-2024-49962",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package()  ACPICA commit 4d4547cf13cca820ff7e0f859ba83e1a610b9fd0  ACPI_ALLOCATE_ZEROED() may fail, elements might be NULL and will cause NULL pointer dereference later.  [ rjw: Subject and changelog edits ]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49938",
                        "url": "https://ubuntu.com/security/CVE-2024-49938",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit  Syzbot points out that skb_trim() has a sanity check on the existing length of the skb, which can be uninitialised in some error paths. The intent here is clearly just to reset the length to zero before resubmitting, so switch to calling __skb_set_length(skb, 0) directly. In addition, __skb_set_length() already contains a call to skb_reset_tail_pointer(), so remove the redundant call.  The syzbot report came from ath9k_hif_usb_reg_in_cb(), but there's a similar usage of skb_trim() in ath9k_hif_usb_rx_cb(), change both while we're at it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47740",
                        "url": "https://ubuntu.com/security/CVE-2024-47740",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: Require FMODE_WRITE for atomic write ioctls  The F2FS ioctls for starting and committing atomic writes check for inode_owner_or_capable(), but this does not give LSMs like SELinux or Landlock an opportunity to deny the write access - if the caller's FSUID matches the inode's UID, inode_owner_or_capable() immediately returns true.  There are scenarios where LSMs want to deny a process the ability to write particular files, even files that the FSUID of the process owns; but this can currently partially be bypassed using atomic write ioctls in two ways:   - F2FS_IOC_START_ATOMIC_REPLACE + F2FS_IOC_COMMIT_ATOMIC_WRITE can    truncate an inode to size 0  - F2FS_IOC_START_ATOMIC_WRITE + F2FS_IOC_ABORT_ATOMIC_WRITE can revert    changes another process concurrently made to a file  Fix it by requiring FMODE_WRITE for these operations, just like for F2FS_IOC_MOVE_RANGE. Since any legitimate caller should only be using these ioctls when intending to write into the file, that seems unlikely to break anything.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49944",
                        "url": "https://ubuntu.com/security/CVE-2024-49944",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start  In sctp_listen_start() invoked by sctp_inet_listen(), it should set the sk_state back to CLOSED if sctp_autobind() fails due to whatever reason.  Otherwise, next time when calling sctp_inet_listen(), if sctp_sk(sk)->reuse is already set via setsockopt(SCTP_REUSE_PORT), sctp_sk(sk)->bind_hash will be dereferenced as sk_state is LISTENING, which causes a crash as bind_hash is NULL.    KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]   RIP: 0010:sctp_inet_listen+0x7f0/0xa20 net/sctp/socket.c:8617   Call Trace:    <TASK>    __sys_listen_socket net/socket.c:1883 [inline]    __sys_listen+0x1b7/0x230 net/socket.c:1894    __do_sys_listen net/socket.c:1902 [inline]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49948",
                        "url": "https://ubuntu.com/security/CVE-2024-49948",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: add more sanity checks to qdisc_pkt_len_init()  One path takes care of SKB_GSO_DODGY, assuming skb->len is bigger than hdr_len.  virtio_net_hdr_to_skb() does not fully dissect TCP headers, it only make sure it is at least 20 bytes.  It is possible for an user to provide a malicious 'GSO' packet, total length of 80 bytes.  - 20 bytes of IPv4 header - 60 bytes TCP header - a small gso_size like 8  virtio_net_hdr_to_skb() would declare this packet as a normal GSO packet, because it would see 40 bytes of payload, bigger than gso_size.  We need to make detect this case to not underflow qdisc_skb_cb(skb)->pkt_len.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49949",
                        "url": "https://ubuntu.com/security/CVE-2024-49949",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: avoid potential underflow in qdisc_pkt_len_init() with UFO  After commit 7c6d2ecbda83 (\"net: be more gentle about silly gso requests coming from user\") virtio_net_hdr_to_skb() had sanity check to detect malicious attempts from user space to cook a bad GSO packet.  Then commit cf9acc90c80ec (\"net: virtio_net_hdr_to_skb: count transport header in UFO\") while fixing one issue, allowed user space to cook a GSO packet with the following characteristic :  IPv4 SKB_GSO_UDP, gso_size=3, skb->len = 28.  When this packet arrives in qdisc_pkt_len_init(), we end up with hdr_len = 28 (IPv4 header + UDP header), matching skb->len  Then the following sets gso_segs to 0 :  gso_segs = DIV_ROUND_UP(skb->len - hdr_len,                         shinfo->gso_size);  Then later we set qdisc_skb_cb(skb)->pkt_len to back to zero :/  qdisc_skb_cb(skb)->pkt_len += (gso_segs - 1) * hdr_len;  This leads to the following crash in fq_codel [1]  qdisc_pkt_len_init() is best effort, we only want an estimation of the bytes sent on the wire, not crashing the kernel.  This patch is fixing this particular issue, a following one adds more sanity checks for another potential bug.  [1] [   70.724101] BUG: kernel NULL pointer dereference, address: 0000000000000000 [   70.724561] #PF: supervisor read access in kernel mode [   70.724561] #PF: error_code(0x0000) - not-present page [   70.724561] PGD 10ac61067 P4D 10ac61067 PUD 107ee2067 PMD 0 [   70.724561] Oops: Oops: 0000 [#1] SMP NOPTI [   70.724561] CPU: 11 UID: 0 PID: 2163 Comm: b358537762 Not tainted 6.11.0-virtme #991 [   70.724561] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [   70.724561] RIP: 0010:fq_codel_enqueue (net/sched/sch_fq_codel.c:120 net/sched/sch_fq_codel.c:168 net/sched/sch_fq_codel.c:230) sch_fq_codel [ 70.724561] Code: 24 08 49 c1 e1 06 44 89 7c 24 18 45 31 ed 45 31 c0 31 ff 89 44 24 14 4c 03 8b 90 01 00 00 eb 04 39 ca 73 37 4d 8b 39 83 c7 01 <49> 8b 17 49 89 11 41 8b 57 28 45 8b 5f 34 49 c7 07 00 00 00 00 49 All code ========    0:\t24 08                \tand    $0x8,%al    2:\t49 c1 e1 06          \tshl    $0x6,%r9    6:\t44 89 7c 24 18       \tmov    %r15d,0x18(%rsp)    b:\t45 31 ed             \txor    %r13d,%r13d    e:\t45 31 c0             \txor    %r8d,%r8d   11:\t31 ff                \txor    %edi,%edi   13:\t89 44 24 14          \tmov    %eax,0x14(%rsp)   17:\t4c 03 8b 90 01 00 00 \tadd    0x190(%rbx),%r9   1e:\teb 04                \tjmp    0x24   20:\t39 ca                \tcmp    %ecx,%edx   22:\t73 37                \tjae    0x5b   24:\t4d 8b 39             \tmov    (%r9),%r15   27:\t83 c7 01             \tadd    $0x1,%edi   2a:*\t49 8b 17             \tmov    (%r15),%rdx\t\t<-- trapping instruction   2d:\t49 89 11             \tmov    %rdx,(%r9)   30:\t41 8b 57 28          \tmov    0x28(%r15),%edx   34:\t45 8b 5f 34          \tmov    0x34(%r15),%r11d   38:\t49 c7 07 00 00 00 00 \tmovq   $0x0,(%r15)   3f:\t49                   \trex.WB  Code starting with the faulting instruction ===========================================    0:\t49 8b 17             \tmov    (%r15),%rdx    3:\t49 89 11             \tmov    %rdx,(%r9)    6:\t41 8b 57 28          \tmov    0x28(%r15),%edx    a:\t45 8b 5f 34          \tmov    0x34(%r15),%r11d    e:\t49 c7 07 00 00 00 00 \tmovq   $0x0,(%r15)   15:\t49                   \trex.WB [   70.724561] RSP: 0018:ffff95ae85e6fb90 EFLAGS: 00000202 [   70.724561] RAX: 0000000002000000 RBX: ffff95ae841de000 RCX: 0000000000000000 [   70.724561] RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000001 [   70.724561] RBP: ffff95ae85e6fbf8 R08: 0000000000000000 R09: ffff95b710a30000 [   70.724561] R10: 0000000000000000 R11: bdf289445ce31881 R12: ffff95ae85e6fc58 [   70.724561] R13: 0000000000000000 R14: 0000000000000040 R15: 0000000000000000 [   70.724561] FS:  000000002c5c1380(0000) GS:ffff95bd7fcc0000(0000) knlGS:0000000000000000 [   70.724561] CS:  0010 DS: 0000 ES: 0000 C ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49997",
                        "url": "https://ubuntu.com/security/CVE-2024-49997",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: ethernet: lantiq_etop: fix memory disclosure  When applying padding, the buffer is not zeroed, which results in memory disclosure. The mentioned data is observed on the wire. This patch uses skb_put_padto() to pad Ethernet frames properly. The mentioned function zeroes the expanded buffer.  In case the packet cannot be padded it is silently dropped. Statistics are also not incremented. This driver does not support statistics in the old 32-bit format or the new 64-bit format. These will be added in the future. In its current form, the patch should be easily backported to stable versions.  Ethernet MACs on Amazon-SE and Danube cannot do padding of the packets in hardware, so software padding must be applied.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49952",
                        "url": "https://ubuntu.com/security/CVE-2024-49952",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: prevent nf_skb_duplicated corruption  syzbot found that nf_dup_ipv4() or nf_dup_ipv6() could write per-cpu variable nf_skb_duplicated in an unsafe way [1].  Disabling preemption as hinted by the splat is not enough, we have to disable soft interrupts as well.  [1] BUG: using __this_cpu_write() in preemptible [00000000] code: syz.4.282/6316  caller is nf_dup_ipv4+0x651/0x8f0 net/ipv4/netfilter/nf_dup_ipv4.c:87 CPU: 0 UID: 0 PID: 6316 Comm: syz.4.282 Not tainted 6.11.0-rc7-syzkaller-00104-g7052622fccb1 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 Call Trace:  <TASK>   __dump_stack lib/dump_stack.c:93 [inline]   dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119   check_preemption_disabled+0x10e/0x120 lib/smp_processor_id.c:49   nf_dup_ipv4+0x651/0x8f0 net/ipv4/netfilter/nf_dup_ipv4.c:87   nft_dup_ipv4_eval+0x1db/0x300 net/ipv4/netfilter/nft_dup_ipv4.c:30   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x4ad/0x1da0 net/netfilter/nf_tables_core.c:288   nft_do_chain_ipv4+0x202/0x320 net/netfilter/nft_chain_filter.c:23   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xc3/0x220 net/netfilter/core.c:626   nf_hook+0x2c4/0x450 include/linux/netfilter.h:269   NF_HOOK_COND include/linux/netfilter.h:302 [inline]   ip_output+0x185/0x230 net/ipv4/ip_output.c:433   ip_local_out net/ipv4/ip_output.c:129 [inline]   ip_send_skb+0x74/0x100 net/ipv4/ip_output.c:1495   udp_send_skb+0xacf/0x1650 net/ipv4/udp.c:981   udp_sendmsg+0x1c21/0x2a60 net/ipv4/udp.c:1269   sock_sendmsg_nosec net/socket.c:730 [inline]   __sock_sendmsg+0x1a6/0x270 net/socket.c:745   ____sys_sendmsg+0x525/0x7d0 net/socket.c:2597   ___sys_sendmsg net/socket.c:2651 [inline]   __sys_sendmmsg+0x3b2/0x740 net/socket.c:2737   __do_sys_sendmmsg net/socket.c:2766 [inline]   __se_sys_sendmmsg net/socket.c:2763 [inline]   __x64_sys_sendmmsg+0xa0/0xb0 net/socket.c:2763   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f4ce4f7def9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f4ce5d4a038 EFLAGS: 00000246 ORIG_RAX: 0000000000000133 RAX: ffffffffffffffda RBX: 00007f4ce5135f80 RCX: 00007f4ce4f7def9 RDX: 0000000000000001 RSI: 0000000020005d40 RDI: 0000000000000006 RBP: 00007f4ce4ff0b76 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f4ce5135f80 R15: 00007ffd4cbc6d68  </TASK>",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-50179",
                        "url": "https://ubuntu.com/security/CVE-2024-50179",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ceph: remove the incorrect Fw reference check when dirtying pages  When doing the direct-io reads it will also try to mark pages dirty, but for the read path it won't hold the Fw caps and there is case will it get the Fw reference.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-11-08 06:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49963",
                        "url": "https://ubuntu.com/security/CVE-2024-49963",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mailbox: bcm2835: Fix timeout during suspend mode  During noirq suspend phase the Raspberry Pi power driver suffer of firmware property timeouts. The reason is that the IRQ of the underlying BCM2835 mailbox is disabled and rpi_firmware_property_list() will always run into a timeout [1].  Since the VideoCore side isn't consider as a wakeup source, set the IRQF_NO_SUSPEND flag for the mailbox IRQ in order to keep it enabled during suspend-resume cycle.  [1] PM: late suspend of devices complete after 1.754 msecs WARNING: CPU: 0 PID: 438 at drivers/firmware/raspberrypi.c:128  rpi_firmware_property_list+0x204/0x22c Firmware transaction 0x00028001 timeout Modules linked in: CPU: 0 PID: 438 Comm: bash Tainted: G         C         6.9.3-dirty #17 Hardware name: BCM2835 Call trace: unwind_backtrace from show_stack+0x18/0x1c show_stack from dump_stack_lvl+0x34/0x44 dump_stack_lvl from __warn+0x88/0xec __warn from warn_slowpath_fmt+0x7c/0xb0 warn_slowpath_fmt from rpi_firmware_property_list+0x204/0x22c rpi_firmware_property_list from rpi_firmware_property+0x68/0x8c rpi_firmware_property from rpi_firmware_set_power+0x54/0xc0 rpi_firmware_set_power from _genpd_power_off+0xe4/0x148 _genpd_power_off from genpd_sync_power_off+0x7c/0x11c genpd_sync_power_off from genpd_finish_suspend+0xcc/0xe0 genpd_finish_suspend from dpm_run_callback+0x78/0xd0 dpm_run_callback from device_suspend_noirq+0xc0/0x238 device_suspend_noirq from dpm_suspend_noirq+0xb0/0x168 dpm_suspend_noirq from suspend_devices_and_enter+0x1b8/0x5ac suspend_devices_and_enter from pm_suspend+0x254/0x2e4 pm_suspend from state_store+0xa8/0xd4 state_store from kernfs_fop_write_iter+0x154/0x1a0 kernfs_fop_write_iter from vfs_write+0x12c/0x184 vfs_write from ksys_write+0x78/0xc0 ksys_write from ret_fast_syscall+0x0/0x54 Exception stack(0xcc93dfa8 to 0xcc93dff0) [...] PM: noirq suspend of devices complete after 3095.584 msecs",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 18:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-46849",
                        "url": "https://ubuntu.com/security/CVE-2024-46849",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: meson: axg-card: fix 'use-after-free'  Buffer 'card->dai_link' is reallocated in 'meson_card_reallocate_links()', so move 'pad' pointer initialization after this function when memory is already reallocated.  Kasan bug report:  ================================================================== BUG: KASAN: slab-use-after-free in axg_card_add_link+0x76c/0x9bc Read of size 8 at addr ffff000000e8b260 by task modprobe/356  CPU: 0 PID: 356 Comm: modprobe Tainted: G O 6.9.12-sdkernel #1 Call trace:  dump_backtrace+0x94/0xec  show_stack+0x18/0x24  dump_stack_lvl+0x78/0x90  print_report+0xfc/0x5c0  kasan_report+0xb8/0xfc  __asan_load8+0x9c/0xb8  axg_card_add_link+0x76c/0x9bc [snd_soc_meson_axg_sound_card]  meson_card_probe+0x344/0x3b8 [snd_soc_meson_card_utils]  platform_probe+0x8c/0xf4  really_probe+0x110/0x39c  __driver_probe_device+0xb8/0x18c  driver_probe_device+0x108/0x1d8  __driver_attach+0xd0/0x25c  bus_for_each_dev+0xe0/0x154  driver_attach+0x34/0x44  bus_add_driver+0x134/0x294  driver_register+0xa8/0x1e8  __platform_driver_register+0x44/0x54  axg_card_pdrv_init+0x20/0x1000 [snd_soc_meson_axg_sound_card]  do_one_initcall+0xdc/0x25c  do_init_module+0x10c/0x334  load_module+0x24c4/0x26cc  init_module_from_file+0xd4/0x128  __arm64_sys_finit_module+0x1f4/0x41c  invoke_syscall+0x60/0x188  el0_svc_common.constprop.0+0x78/0x13c  do_el0_svc+0x30/0x40  el0_svc+0x38/0x78  el0t_64_sync_handler+0x100/0x12c  el0t_64_sync+0x190/0x194",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-09-27 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47679",
                        "url": "https://ubuntu.com/security/CVE-2024-47679",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  vfs: fix race between evice_inodes() and find_inode()&iput()  Hi, all  Recently I noticed a bug[1] in btrfs, after digged it into and I believe it'a race in vfs.  Let's assume there's a inode (ie ino 261) with i_count 1 is called by iput(), and there's a concurrent thread calling generic_shutdown_super().  cpu0:                              cpu1: iput() // i_count is 1   ->spin_lock(inode)   ->dec i_count to 0   ->iput_final()                    generic_shutdown_super()     ->__inode_add_lru()               ->evict_inodes()       // cause some reason[2]           ->if (atomic_read(inode->i_count)) continue;       // return before                  // inode 261 passed the above check       // list_lru_add_obj()             // and then schedule out    ->spin_unlock() // note here: the inode 261 // was still at sb list and hash list, // and I_FREEING|I_WILL_FREE was not been set  btrfs_iget()   // after some function calls   ->find_inode()     // found the above inode 261     ->spin_lock(inode)    // check I_FREEING|I_WILL_FREE    // and passed       ->__iget()     ->spin_unlock(inode)                // schedule back                                         ->spin_lock(inode)                                         // check (I_NEW|I_FREEING|I_WILL_FREE) flags,                                         // passed and set I_FREEING iput()                                  ->spin_unlock(inode)   ->spin_lock(inode)\t\t\t  ->evict()   // dec i_count to 0   ->iput_final()     ->spin_unlock()     ->evict()  Now, we have two threads simultaneously evicting the same inode, which may trigger the BUG(inode->i_state & I_CLEAR) statement both within clear_inode() and iput().  To fix the bug, recheck the inode->i_count after holding i_lock. Because in the most scenarios, the first check is valid, and the overhead of spin_lock() can be reduced.  If there is any misunderstanding, please let me know, thanks.  [1]: https://lore.kernel.org/linux-btrfs/000000000000eabe1d0619c48986@google.com/ [2]: The reason might be 1. SB_ACTIVE was removed or 2. mapping_shrinkable() return false when I reproduced the bug.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49860",
                        "url": "https://ubuntu.com/security/CVE-2024-49860",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPI: sysfs: validate return type of _STR method  Only buffer objects are valid return values of _STR.  If something else is returned description_show() will access invalid memory.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47742",
                        "url": "https://ubuntu.com/security/CVE-2024-47742",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  firmware_loader: Block path traversal  Most firmware names are hardcoded strings, or are constructed from fairly constrained format strings where the dynamic parts are just some hex numbers or such.  However, there are a couple codepaths in the kernel where firmware file names contain string components that are passed through from a device or semi-privileged userspace; the ones I could find (not counting interfaces that require root privileges) are:   - lpfc_sli4_request_firmware_update() seems to construct the firmware    filename from \"ModelName\", a string that was previously parsed out of    some descriptor (\"Vital Product Data\") in lpfc_fill_vpd()  - nfp_net_fw_find() seems to construct a firmware filename from a model    name coming from nfp_hwinfo_lookup(pf->hwinfo, \"nffw.partno\"), which I    think parses some descriptor that was read from the device.    (But this case likely isn't exploitable because the format string looks    like \"netronome/nic_%s\", and there shouldn't be any *folders* starting    with \"netronome/nic_\". The previous case was different because there,    the \"%s\" is *at the start* of the format string.)  - module_flash_fw_schedule() is reachable from the    ETHTOOL_MSG_MODULE_FW_FLASH_ACT netlink command, which is marked as    GENL_UNS_ADMIN_PERM (meaning CAP_NET_ADMIN inside a user namespace is    enough to pass the privilege check), and takes a userspace-provided    firmware name.    (But I think to reach this case, you need to have CAP_NET_ADMIN over a    network namespace that a special kind of ethernet device is mapped into,    so I think this is not a viable attack path in practice.)  Fix it by rejecting any firmware names containing \"..\" path components.  For what it's worth, I went looking and haven't found any USB device drivers that use the firmware loader dangerously.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47684",
                        "url": "https://ubuntu.com/security/CVE-2024-47684",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tcp: check skb is non-NULL in tcp_rto_delta_us()  We have some machines running stock Ubuntu 20.04.6 which is their 5.4.0-174-generic kernel that are running ceph and recently hit a null ptr dereference in tcp_rearm_rto(). Initially hitting it from the TLP path, but then later we also saw it getting hit from the RACK case as well. Here are examples of the oops messages we saw in each of those cases:  Jul 26 15:05:02 rx [11061395.780353] BUG: kernel NULL pointer dereference, address: 0000000000000020 Jul 26 15:05:02 rx [11061395.787572] #PF: supervisor read access in kernel mode Jul 26 15:05:02 rx [11061395.792971] #PF: error_code(0x0000) - not-present page Jul 26 15:05:02 rx [11061395.798362] PGD 0 P4D 0 Jul 26 15:05:02 rx [11061395.801164] Oops: 0000 [#1] SMP NOPTI Jul 26 15:05:02 rx [11061395.805091] CPU: 0 PID: 9180 Comm: msgr-worker-1 Tainted: G W 5.4.0-174-generic #193-Ubuntu Jul 26 15:05:02 rx [11061395.814996] Hardware name: Supermicro SMC 2x26 os-gen8 64C NVME-Y 256G/H12SSW-NTR, BIOS 2.5.V1.2U.NVMe.UEFI 05/09/2023 Jul 26 15:05:02 rx [11061395.825952] RIP: 0010:tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.830656] Code: 87 ca 04 00 00 00 5b 41 5c 41 5d 5d c3 c3 49 8b bc 24 40 06 00 00 eb 8d 48 bb cf f7 53 e3 a5 9b c4 20 4c 89 ef e8 0c fe 0e 00 <48> 8b 78 20 48 c1 ef 03 48 89 f8 41 8b bc 24 80 04 00 00 48 f7 e3 Jul 26 15:05:02 rx [11061395.849665] RSP: 0018:ffffb75d40003e08 EFLAGS: 00010246 Jul 26 15:05:02 rx [11061395.855149] RAX: 0000000000000000 RBX: 20c49ba5e353f7cf RCX: 0000000000000000 Jul 26 15:05:02 rx [11061395.862542] RDX: 0000000062177c30 RSI: 000000000000231c RDI: ffff9874ad283a60 Jul 26 15:05:02 rx [11061395.869933] RBP: ffffb75d40003e20 R08: 0000000000000000 R09: ffff987605e20aa8 Jul 26 15:05:02 rx [11061395.877318] R10: ffffb75d40003f00 R11: ffffb75d4460f740 R12: ffff9874ad283900 Jul 26 15:05:02 rx [11061395.884710] R13: ffff9874ad283a60 R14: ffff9874ad283980 R15: ffff9874ad283d30 Jul 26 15:05:02 rx [11061395.892095] FS: 00007f1ef4a2e700(0000) GS:ffff987605e00000(0000) knlGS:0000000000000000 Jul 26 15:05:02 rx [11061395.900438] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Jul 26 15:05:02 rx [11061395.906435] CR2: 0000000000000020 CR3: 0000003e450ba003 CR4: 0000000000760ef0 Jul 26 15:05:02 rx [11061395.913822] PKRU: 55555554 Jul 26 15:05:02 rx [11061395.916786] Call Trace: Jul 26 15:05:02 rx [11061395.919488] Jul 26 15:05:02 rx [11061395.921765] ? show_regs.cold+0x1a/0x1f Jul 26 15:05:02 rx [11061395.925859] ? __die+0x90/0xd9 Jul 26 15:05:02 rx [11061395.929169] ? no_context+0x196/0x380 Jul 26 15:05:02 rx [11061395.933088] ? ip6_protocol_deliver_rcu+0x4e0/0x4e0 Jul 26 15:05:02 rx [11061395.938216] ? ip6_sublist_rcv_finish+0x3d/0x50 Jul 26 15:05:02 rx [11061395.943000] ? __bad_area_nosemaphore+0x50/0x1a0 Jul 26 15:05:02 rx [11061395.947873] ? bad_area_nosemaphore+0x16/0x20 Jul 26 15:05:02 rx [11061395.952486] ? do_user_addr_fault+0x267/0x450 Jul 26 15:05:02 rx [11061395.957104] ? ipv6_list_rcv+0x112/0x140 Jul 26 15:05:02 rx [11061395.961279] ? __do_page_fault+0x58/0x90 Jul 26 15:05:02 rx [11061395.965458] ? do_page_fault+0x2c/0xe0 Jul 26 15:05:02 rx [11061395.969465] ? page_fault+0x34/0x40 Jul 26 15:05:02 rx [11061395.973217] ? tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.977313] ? tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.981408] tcp_send_loss_probe+0x10b/0x220 Jul 26 15:05:02 rx [11061395.985937] tcp_write_timer_handler+0x1b4/0x240 Jul 26 15:05:02 rx [11061395.990809] tcp_write_timer+0x9e/0xe0 Jul 26 15:05:02 rx [11061395.994814] ? tcp_write_timer_handler+0x240/0x240 Jul 26 15:05:02 rx [11061395.999866] call_timer_fn+0x32/0x130 Jul 26 15:05:02 rx [11061396.003782] __run_timers.part.0+0x180/0x280 Jul 26 15:05:02 rx [11061396.008309] ? recalibrate_cpu_khz+0x10/0x10 Jul 26 15:05:02 rx [11061396.012841] ? native_x2apic_icr_write+0x30/0x30 Jul 26 15:05:02 rx [11061396.017718] ? lapic_next_even ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47747",
                        "url": "https://ubuntu.com/security/CVE-2024-47747",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition  In the ether3_probe function, a timer is initialized with a callback function ether3_ledoff, bound to &prev(dev)->timer. Once the timer is started, there is a risk of a race condition if the module or device is removed, triggering the ether3_remove function to perform cleanup. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                    CPU1                        |  ether3_ledoff ether3_remove         |   free_netdev(dev);   |   put_devic           |   kfree(dev);         |  |  ether3_outw(priv(dev)->regs.config2 |= CFG2_CTRLO, REG_CONFIG2);                       | // use dev  Fix it by ensuring that the timer is canceled before proceeding with the cleanup in ether3_remove.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47685",
                        "url": "https://ubuntu.com/security/CVE-2024-47685",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()  syzbot reported that nf_reject_ip6_tcphdr_put() was possibly sending garbage on the four reserved tcp bits (th->res1)  Use skb_put_zero() to clear the whole TCP header, as done in nf_reject_ip_tcphdr_put()  BUG: KMSAN: uninit-value in nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255   nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255   nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344   nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288   nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626   nf_hook include/linux/netfilter.h:269 [inline]   NF_HOOK include/linux/netfilter.h:312 [inline]   ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310   __netif_receive_skb_one_core net/core/dev.c:5661 [inline]   __netif_receive_skb+0x1da/0xa00 net/core/dev.c:5775   process_backlog+0x4ad/0xa50 net/core/dev.c:6108   __napi_poll+0xe7/0x980 net/core/dev.c:6772   napi_poll net/core/dev.c:6841 [inline]   net_rx_action+0xa5a/0x19b0 net/core/dev.c:6963   handle_softirqs+0x1ce/0x800 kernel/softirq.c:554   __do_softirq+0x14/0x1a kernel/softirq.c:588   do_softirq+0x9a/0x100 kernel/softirq.c:455   __local_bh_enable_ip+0x9f/0xb0 kernel/softirq.c:382   local_bh_enable include/linux/bottom_half.h:33 [inline]   rcu_read_unlock_bh include/linux/rcupdate.h:908 [inline]   __dev_queue_xmit+0x2692/0x5610 net/core/dev.c:4450   dev_queue_xmit include/linux/netdevice.h:3105 [inline]   neigh_resolve_output+0x9ca/0xae0 net/core/neighbour.c:1565   neigh_output include/net/neighbour.h:542 [inline]   ip6_finish_output2+0x2347/0x2ba0 net/ipv6/ip6_output.c:141   __ip6_finish_output net/ipv6/ip6_output.c:215 [inline]   ip6_finish_output+0xbb8/0x14b0 net/ipv6/ip6_output.c:226   NF_HOOK_COND include/linux/netfilter.h:303 [inline]   ip6_output+0x356/0x620 net/ipv6/ip6_output.c:247   dst_output include/net/dst.h:450 [inline]   NF_HOOK include/linux/netfilter.h:314 [inline]   ip6_xmit+0x1ba6/0x25d0 net/ipv6/ip6_output.c:366   inet6_csk_xmit+0x442/0x530 net/ipv6/inet6_connection_sock.c:135   __tcp_transmit_skb+0x3b07/0x4880 net/ipv4/tcp_output.c:1466   tcp_transmit_skb net/ipv4/tcp_output.c:1484 [inline]   tcp_connect+0x35b6/0x7130 net/ipv4/tcp_output.c:4143   tcp_v6_connect+0x1bcc/0x1e40 net/ipv6/tcp_ipv6.c:333   __inet_stream_connect+0x2ef/0x1730 net/ipv4/af_inet.c:679   inet_stream_connect+0x6a/0xd0 net/ipv4/af_inet.c:750   __sys_connect_file net/socket.c:2061 [inline]   __sys_connect+0x606/0x690 net/socket.c:2078   __do_sys_connect net/socket.c:2088 [inline]   __se_sys_connect net/socket.c:2085 [inline]   __x64_sys_connect+0x91/0xe0 net/socket.c:2085   x64_sys_call+0x27a5/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:43   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was stored to memory at:   nf_reject_ip6_tcphdr_put+0x60c/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:249   nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344   nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288   nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626   nf_hook include/linux/netfilter.h:269 [inline]   NF_HOOK include/linux/netfilter.h:312 [inline]   ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310   __netif_receive_skb_one_core ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47692",
                        "url": "https://ubuntu.com/security/CVE-2024-47692",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfsd: return -EINVAL when namelen is 0  When we have a corrupted main.sqlite in /var/lib/nfs/nfsdcld/, it may result in namelen being 0, which will cause memdup_user() to return ZERO_SIZE_PTR. When we access the name.data that has been assigned the value of ZERO_SIZE_PTR in nfs4_client_to_reclaim(), null pointer dereference is triggered.  [ T1205] ================================================================== [ T1205] BUG: KASAN: null-ptr-deref in nfs4_client_to_reclaim+0xe9/0x260 [ T1205] Read of size 1 at addr 0000000000000010 by task nfsdcld/1205 [ T1205] [ T1205] CPU: 11 PID: 1205 Comm: nfsdcld Not tainted 5.10.0-00003-g2c1423731b8d #406 [ T1205] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-buildvm-ppc64le-16.ppc.fedoraproject.org-3.fc31 04/01/2014 [ T1205] Call Trace: [ T1205]  dump_stack+0x9a/0xd0 [ T1205]  ? nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  __kasan_report.cold+0x34/0x84 [ T1205]  ? nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  kasan_report+0x3a/0x50 [ T1205]  nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  ? nfsd4_release_lockowner+0x410/0x410 [ T1205]  cld_pipe_downcall+0x5ca/0x760 [ T1205]  ? nfsd4_cld_tracking_exit+0x1d0/0x1d0 [ T1205]  ? down_write_killable_nested+0x170/0x170 [ T1205]  ? avc_policy_seqno+0x28/0x40 [ T1205]  ? selinux_file_permission+0x1b4/0x1e0 [ T1205]  rpc_pipe_write+0x84/0xb0 [ T1205]  vfs_write+0x143/0x520 [ T1205]  ksys_write+0xc9/0x170 [ T1205]  ? __ia32_sys_read+0x50/0x50 [ T1205]  ? ktime_get_coarse_real_ts64+0xfe/0x110 [ T1205]  ? ktime_get_coarse_real_ts64+0xa2/0x110 [ T1205]  do_syscall_64+0x33/0x40 [ T1205]  entry_SYSCALL_64_after_hwframe+0x67/0xd1 [ T1205] RIP: 0033:0x7fdbdb761bc7 [ T1205] Code: 0f 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 514 [ T1205] RSP: 002b:00007fff8c4b7248 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ T1205] RAX: ffffffffffffffda RBX: 000000000000042b RCX: 00007fdbdb761bc7 [ T1205] RDX: 000000000000042b RSI: 00007fff8c4b75f0 RDI: 0000000000000008 [ T1205] RBP: 00007fdbdb761bb0 R08: 0000000000000000 R09: 0000000000000001 [ T1205] R10: 0000000000000000 R11: 0000000000000246 R12: 000000000000042b [ T1205] R13: 0000000000000008 R14: 00007fff8c4b75f0 R15: 0000000000000000 [ T1205] ==================================================================  Fix it by checking namelen.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47737",
                        "url": "https://ubuntu.com/security/CVE-2024-47737",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfsd: call cache_put if xdr_reserve_space returns NULL  If not enough buffer space available, but idmap_lookup has triggered lookup_fn which calls cache_get and returns successfully. Then we missed to call cache_put here which pairs with cache_get.  Reviwed-by: Jeff Layton <jlayton@kernel.org>",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2023-52917",
                        "url": "https://ubuntu.com/security/CVE-2023-52917",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()  The debugfs_create_dir() function returns error pointers. It never returns NULL. So use IS_ERR() to check it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47749",
                        "url": "https://ubuntu.com/security/CVE-2024-47749",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cxgb4: Added NULL check for lookup_atid  The lookup_atid() function can return NULL if the ATID is invalid or does not exist in the identifier table, which could lead to dereferencing a null pointer without a check in the `act_establish()` and `act_open_rpl()` functions. Add a NULL check to prevent null pointer dereferencing.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47696",
                        "url": "https://ubuntu.com/security/CVE-2024-47696",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency  In the commit aee2424246f9 (\"RDMA/iwcm: Fix a use-after-free related to destroying CM IDs\"), the function flush_workqueue is invoked to flush the work queue iwcm_wq.  But at that time, the work queue iwcm_wq was created via the function alloc_ordered_workqueue without the flag WQ_MEM_RECLAIM.  Because the current process is trying to flush the whole iwcm_wq, if iwcm_wq doesn't have the flag WQ_MEM_RECLAIM, verify that the current process is not reclaiming memory or running on a workqueue which doesn't have the flag WQ_MEM_RECLAIM as that can break forward-progress guarantee leading to a deadlock.  The call trace is as below:  [  125.350876][ T1430] Call Trace: [  125.356281][ T1430]  <TASK> [ 125.361285][ T1430] ? __warn (kernel/panic.c:693) [ 125.367640][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.375689][ T1430] ? report_bug (lib/bug.c:180 lib/bug.c:219) [ 125.382505][ T1430] ? handle_bug (arch/x86/kernel/traps.c:239) [ 125.388987][ T1430] ? exc_invalid_op (arch/x86/kernel/traps.c:260 (discriminator 1)) [ 125.395831][ T1430] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:621) [ 125.403125][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.410984][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.418764][ T1430] __flush_workqueue (kernel/workqueue.c:3970) [ 125.426021][ T1430] ? __pfx___might_resched (kernel/sched/core.c:10151) [ 125.433431][ T1430] ? destroy_cm_id (drivers/infiniband/core/iwcm.c:375) iw_cm [ 125.441209][ T1430] ? __pfx___flush_workqueue (kernel/workqueue.c:3910) [ 125.473900][ T1430] ? _raw_spin_lock_irqsave (arch/x86/include/asm/atomic.h:107 include/linux/atomic/atomic-arch-fallback.h:2170 include/linux/atomic/atomic-instrumented.h:1302 include/asm-generic/qspinlock.h:111 include/linux/spinlock.h:187 include/linux/spinlock_api_smp.h:111 kernel/locking/spinlock.c:162) [ 125.473909][ T1430] ? __pfx__raw_spin_lock_irqsave (kernel/locking/spinlock.c:161) [ 125.482537][ T1430] _destroy_id (drivers/infiniband/core/cma.c:2044) rdma_cm [ 125.495072][ T1430] nvme_rdma_free_queue (drivers/nvme/host/rdma.c:656 drivers/nvme/host/rdma.c:650) nvme_rdma [ 125.505827][ T1430] nvme_rdma_reset_ctrl_work (drivers/nvme/host/rdma.c:2180) nvme_rdma [ 125.505831][ T1430] process_one_work (kernel/workqueue.c:3231) [ 125.515122][ T1430] worker_thread (kernel/workqueue.c:3306 kernel/workqueue.c:3393) [ 125.515127][ T1430] ? __pfx_worker_thread (kernel/workqueue.c:3339) [ 125.531837][ T1430] kthread (kernel/kthread.c:389) [ 125.539864][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.550628][ T1430] ret_from_fork (arch/x86/kernel/process.c:147) [ 125.558840][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.558844][ T1430] ret_from_fork_asm (arch/x86/entry/entry_64.S:257) [  125.566487][ T1430]  </TASK> [  125.566488][ T1430] ---[ end trace 0000000000000000 ]---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47756",
                        "url": "https://ubuntu.com/security/CVE-2024-47756",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  PCI: keystone: Fix if-statement expression in ks_pcie_quirk()  This code accidentally uses && where || was intended.  It potentially results in a NULL dereference.  Thus, fix the if-statement expression to use the correct condition.  [kwilczynski: commit log]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47697",
                        "url": "https://ubuntu.com/security/CVE-2024-47697",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error  Ensure index in rtl2830_pid_filter does not exceed 31 to prevent out-of-bounds access.  dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47698",
                        "url": "https://ubuntu.com/security/CVE-2024-47698",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error  Ensure index in rtl2832_pid_filter does not exceed 31 to prevent out-of-bounds access.  dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue.  [hverkuil: added fixes tag, rtl2830_pid_filter -> rtl2832_pid_filter in logmsg]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47757",
                        "url": "https://ubuntu.com/security/CVE-2024-47757",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential oob read in nilfs_btree_check_delete()  The function nilfs_btree_check_delete(), which checks whether degeneration to direct mapping occurs before deleting a b-tree entry, causes memory access outside the block buffer when retrieving the maximum key if the root node has no entries.  This does not usually happen because b-tree mappings with 0 child nodes are never created by mkfs.nilfs2 or nilfs2 itself.  However, it can happen if the b-tree root node read from a device is configured that way, so fix this potential issue by adding a check for that case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47699",
                        "url": "https://ubuntu.com/security/CVE-2024-47699",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()  Patch series \"nilfs2: fix potential issues with empty b-tree nodes\".  This series addresses three potential issues with empty b-tree nodes that can occur with corrupted filesystem images, including one recently discovered by syzbot.   This patch (of 3):  If a b-tree is broken on the device, and the b-tree height is greater than 2 (the level of the root node is greater than 1) even if the number of child nodes of the b-tree root is 0, a NULL pointer dereference occurs in nilfs_btree_prepare_insert(), which is called from nilfs_btree_insert().  This is because, when the number of child nodes of the b-tree root is 0, nilfs_btree_do_lookup() does not set the block buffer head in any of path[x].bp_bh, leaving it as the initial value of NULL, but if the level of the b-tree root node is greater than 1, nilfs_btree_get_nonroot_node(), which accesses the buffer memory of path[x].bp_bh, is called.  Fix this issue by adding a check to nilfs_btree_root_broken(), which performs sanity checks when reading the root node from the device, to detect this inconsistency.  Thanks to Lizhi Xu for trying to solve the bug and clarifying the cause early on.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47701",
                        "url": "https://ubuntu.com/security/CVE-2024-47701",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: avoid OOB when system.data xattr changes underneath the filesystem  When looking up for an entry in an inlined directory, if e_value_offs is changed underneath the filesystem by some change in the block device, it will lead to an out-of-bounds access that KASAN detects as an UAF.  EXT4-fs (loop0): mounted filesystem 00000000-0000-0000-0000-000000000000 r/w without journal. Quota mode: none. loop0: detected capacity change from 2048 to 2047 ================================================================== BUG: KASAN: use-after-free in ext4_search_dir+0xf2/0x1c0 fs/ext4/namei.c:1500 Read of size 1 at addr ffff88803e91130f by task syz-executor269/5103  CPU: 0 UID: 0 PID: 5103 Comm: syz-executor269 Not tainted 6.11.0-rc4-syzkaller #0 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 lib/dump_stack.c:93 [inline]  dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119  print_address_description mm/kasan/report.c:377 [inline]  print_report+0x169/0x550 mm/kasan/report.c:488  kasan_report+0x143/0x180 mm/kasan/report.c:601  ext4_search_dir+0xf2/0x1c0 fs/ext4/namei.c:1500  ext4_find_inline_entry+0x4be/0x5e0 fs/ext4/inline.c:1697  __ext4_find_entry+0x2b4/0x1b30 fs/ext4/namei.c:1573  ext4_lookup_entry fs/ext4/namei.c:1727 [inline]  ext4_lookup+0x15f/0x750 fs/ext4/namei.c:1795  lookup_one_qstr_excl+0x11f/0x260 fs/namei.c:1633  filename_create+0x297/0x540 fs/namei.c:3980  do_symlinkat+0xf9/0x3a0 fs/namei.c:4587  __do_sys_symlinkat fs/namei.c:4610 [inline]  __se_sys_symlinkat fs/namei.c:4607 [inline]  __x64_sys_symlinkat+0x95/0xb0 fs/namei.c:4607  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f3e73ced469 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 21 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fff4d40c258 EFLAGS: 00000246 ORIG_RAX: 000000000000010a RAX: ffffffffffffffda RBX: 0032656c69662f2e RCX: 00007f3e73ced469 RDX: 0000000020000200 RSI: 00000000ffffff9c RDI: 00000000200001c0 RBP: 0000000000000000 R08: 00007fff4d40c290 R09: 00007fff4d40c290 R10: 0023706f6f6c2f76 R11: 0000000000000246 R12: 00007fff4d40c27c R13: 0000000000000003 R14: 431bde82d7b634db R15: 00007fff4d40c2b0  </TASK>  Calling ext4_xattr_ibody_find right after reading the inode with ext4_get_inode_loc will lead to a check of the validity of the xattrs, avoiding this problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-49851",
                        "url": "https://ubuntu.com/security/CVE-2024-49851",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Clean up TPM space after command failure  tpm_dev_transmit prepares the TPM space before attempting command transmission. However if the command fails no rollback of this preparation is done. This can result in transient handles being leaked if the device is subsequently closed with no further commands performed.  Fix this by flushing the space in the event of command transmission failure.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47723",
                        "url": "https://ubuntu.com/security/CVE-2024-47723",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: fix out-of-bounds in dbNextAG() and diAlloc()  In dbNextAG() , there is no check for the case where bmp->db_numag is greater or same than MAXAG due to a polluted image, which causes an out-of-bounds. Therefore, a bounds check should be added in dbMount().  And in dbNextAG(), a check for the case where agpref is greater than bmp->db_numag should be added, so an out-of-bounds exception should be prevented.  Additionally, a check for the case where agno is greater or same than MAXAG should be added in diAlloc() to prevent out-of-bounds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47706",
                        "url": "https://ubuntu.com/security/CVE-2024-47706",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block, bfq: fix possible UAF for bfqq->bic with merge chain  1) initial state, three tasks:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t\t  |  ?            |  ?\t\t  |  ? \t\t  |  |            |  |\t\t  |  | \t\t  V  |            V  |\t\t  V  | \t\t  bfqq1           bfqq2\t\t  bfqq3 process ref:\t   1\t\t    1\t\t    1  2) bfqq1 merged to bfqq2:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t\t  |               |\t\t  |  ? \t\t  \\--------------\\|\t\t  |  | \t\t                  V\t\t  V  | \t\t  bfqq1--------->bfqq2\t\t  bfqq3 process ref:\t   0\t\t    2\t\t    1  3) bfqq2 merged to bfqq3:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t here -> ?                |\t\t  | \t\t  \\--------------\\ \\-------------\\| \t\t                  V\t\t  V \t\t  bfqq1--------->bfqq2---------->bfqq3 process ref:\t   0\t\t    1\t\t    3  In this case, IO from Process 1 will get bfqq2 from BIC1 first, and then get bfqq3 through merge chain, and finially handle IO by bfqq3. Howerver, current code will think bfqq2 is owned by BIC1, like initial state, and set bfqq2->bic to BIC1.  bfq_insert_request -> by Process 1  bfqq = bfq_init_rq(rq)   bfqq = bfq_get_bfqq_handle_split    bfqq = bic_to_bfqq    -> get bfqq2 from BIC1  bfqq->ref++  rq->elv.priv[0] = bic  rq->elv.priv[1] = bfqq  if (bfqq_process_refs(bfqq) == 1)   bfqq->bic = bic   -> record BIC1 to bfqq2    __bfq_insert_request    new_bfqq = bfq_setup_cooperator    -> get bfqq3 from bfqq2->new_bfqq    bfqq_request_freed(bfqq)    new_bfqq->ref++    rq->elv.priv[1] = new_bfqq    -> handle IO by bfqq3  Fix the problem by checking bfqq is from merge chain fist. And this might fix a following problem reported by our syzkaller(unreproducible):  ================================================================== BUG: KASAN: slab-use-after-free in bfq_do_early_stable_merge block/bfq-iosched.c:5692 [inline] BUG: KASAN: slab-use-after-free in bfq_do_or_sched_stable_merge block/bfq-iosched.c:5805 [inline] BUG: KASAN: slab-use-after-free in bfq_get_queue+0x25b0/0x2610 block/bfq-iosched.c:5889 Write of size 1 at addr ffff888123839eb8 by task kworker/0:1H/18595  CPU: 0 PID: 18595 Comm: kworker/0:1H Tainted: G             L    6.6.0-07439-gba2303cacfda #6 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 Workqueue: kblockd blk_mq_requeue_work Call Trace:  <TASK>  __dump_stack lib/dump_stack.c:88 [inline]  dump_stack_lvl+0x91/0xf0 lib/dump_stack.c:106  print_address_description mm/kasan/report.c:364 [inline]  print_report+0x10d/0x610 mm/kasan/report.c:475  kasan_report+0x8e/0xc0 mm/kasan/report.c:588  bfq_do_early_stable_merge block/bfq-iosched.c:5692 [inline]  bfq_do_or_sched_stable_merge block/bfq-iosched.c:5805 [inline]  bfq_get_queue+0x25b0/0x2610 block/bfq-iosched.c:5889  bfq_get_bfqq_handle_split+0x169/0x5d0 block/bfq-iosched.c:6757  bfq_init_rq block/bfq-iosched.c:6876 [inline]  bfq_insert_request block/bfq-iosched.c:6254 [inline]  bfq_insert_requests+0x1112/0x5cf0 block/bfq-iosched.c:6304  blk_mq_insert_request+0x290/0x8d0 block/blk-mq.c:2593  blk_mq_requeue_work+0x6bc/0xa70 block/blk-mq.c:1502  process_one_work kernel/workqueue.c:2627 [inline]  process_scheduled_works+0x432/0x13f0 kernel/workqueue.c:2700  worker_thread+0x6f2/0x1160 kernel/workqueue.c:2781  kthread+0x33c/0x440 kernel/kthread.c:388  ret_from_fork+0x4d/0x80 arch/x86/kernel/process.c:147  ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:305  </TASK>  Allocated by task 20776:  kasan_save_stack+0x20/0x40 mm/kasan/common.c:45  kasan_set_track+0x25/0x30 mm/kasan/common.c:52  __kasan_slab_alloc+0x87/0x90 mm/kasan/common.c:328  kasan_slab_alloc include/linux/kasan.h:188 [inline]  slab_post_alloc_hook mm/slab.h:763 [inline]  slab_alloc_node mm/slub.c:3458 [inline]  kmem_cache_alloc_node+0x1a4/0x6f0 mm/slub.c:3503  ioc_create_icq block/blk-ioc.c:370 [inline] ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47709",
                        "url": "https://ubuntu.com/security/CVE-2024-47709",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  can: bcm: Clear bo->bcm_proc_read after remove_proc_entry().  syzbot reported a warning in bcm_release(). [0]  The blamed change fixed another warning that is triggered when connect() is issued again for a socket whose connect()ed device has been unregistered.  However, if the socket is just close()d without the 2nd connect(), the remaining bo->bcm_proc_read triggers unnecessary remove_proc_entry() in bcm_release().  Let's clear bo->bcm_proc_read after remove_proc_entry() in bcm_notify().  [0] name '4986' WARNING: CPU: 0 PID: 5234 at fs/proc/generic.c:711 remove_proc_entry+0x2e7/0x5d0 fs/proc/generic.c:711 Modules linked in: CPU: 0 UID: 0 PID: 5234 Comm: syz-executor606 Not tainted 6.11.0-rc5-syzkaller-00178-g5517ae241919 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 RIP: 0010:remove_proc_entry+0x2e7/0x5d0 fs/proc/generic.c:711 Code: ff eb 05 e8 cb 1e 5e ff 48 8b 5c 24 10 48 c7 c7 e0 f7 aa 8e e8 2a 38 8e 09 90 48 c7 c7 60 3a 1b 8c 48 89 de e8 da 42 20 ff 90 <0f> 0b 90 90 48 8b 44 24 18 48 c7 44 24 40 0e 36 e0 45 49 c7 04 07 RSP: 0018:ffffc9000345fa20 EFLAGS: 00010246 RAX: 2a2d0aee2eb64600 RBX: ffff888032f1f548 RCX: ffff888029431e00 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffc9000345fb08 R08: ffffffff8155b2f2 R09: 1ffff1101710519a R10: dffffc0000000000 R11: ffffed101710519b R12: ffff888011d38640 R13: 0000000000000004 R14: 0000000000000000 R15: dffffc0000000000 FS:  0000000000000000(0000) GS:ffff8880b8800000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fcfb52722f0 CR3: 000000000e734000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  bcm_release+0x250/0x880 net/can/bcm.c:1578  __sock_release net/socket.c:659 [inline]  sock_close+0xbc/0x240 net/socket.c:1421  __fput+0x24a/0x8a0 fs/file_table.c:422  task_work_run+0x24f/0x310 kernel/task_work.c:228  exit_task_work include/linux/task_work.h:40 [inline]  do_exit+0xa2f/0x27f0 kernel/exit.c:882  do_group_exit+0x207/0x2c0 kernel/exit.c:1031  __do_sys_exit_group kernel/exit.c:1042 [inline]  __se_sys_exit_group kernel/exit.c:1040 [inline]  __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1040  x64_sys_call+0x2634/0x2640 arch/x86/include/generated/asm/syscalls_64.h:232  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fcfb51ee969 Code: Unable to access opcode bytes at 0x7fcfb51ee93f. RSP: 002b:00007ffce0109ca8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7 RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007fcfb51ee969 RDX: 000000000000003c RSI: 00000000000000e7 RDI: 0000000000000001 RBP: 00007fcfb526f3b0 R08: ffffffffffffffb8 R09: 0000555500000000 R10: 0000555500000000 R11: 0000000000000246 R12: 00007fcfb526f3b0 R13: 0000000000000000 R14: 00007fcfb5271ee0 R15: 00007fcfb51bf160  </TASK>",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47710",
                        "url": "https://ubuntu.com/security/CVE-2024-47710",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sock_map: Add a cond_resched() in sock_hash_free()  Several syzbot soft lockup reports all have in common sock_hash_free()  If a map with a large number of buckets is destroyed, we need to yield the cpu when needed.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47712",
                        "url": "https://ubuntu.com/security/CVE-2024-47712",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: wilc1000: fix potential RCU dereference issue in wilc_parse_join_bss_param  In the `wilc_parse_join_bss_param` function, the TSF field of the `ies` structure is accessed after the RCU read-side critical section is unlocked. According to RCU usage rules, this is illegal. Reusing this pointer can lead to unpredictable behavior, including accessing memory that has been updated or causing use-after-free issues.  This possible bug was identified using a static analysis tool developed by myself, specifically designed to detect RCU-related issues.  To address this, the TSF value is now stored in a local variable `ies_tsf` before the RCU lock is released. The `param->tsf_lo` field is then assigned using this local variable, ensuring that the TSF value is safely accessed.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47713",
                        "url": "https://ubuntu.com/security/CVE-2024-47713",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()  Since '__dev_queue_xmit()' should be called with interrupts enabled, the following backtrace:  ieee80211_do_stop()  ...  spin_lock_irqsave(&local->queue_stop_reason_lock, flags)  ...  ieee80211_free_txskb()   ieee80211_report_used_skb()    ieee80211_report_ack_skb()     cfg80211_mgmt_tx_status_ext()      nl80211_frame_tx_status()       genlmsg_multicast_netns()        genlmsg_multicast_netns_filtered()         nlmsg_multicast_filtered() \t netlink_broadcast_filtered() \t  do_one_broadcast() \t   netlink_broadcast_deliver() \t    __netlink_sendskb() \t     netlink_deliver_tap() \t      __netlink_deliver_tap_skb() \t       dev_queue_xmit() \t        __dev_queue_xmit() ; with IRQS disabled  ...  spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags)  issues the warning (as reported by syzbot reproducer):  WARNING: CPU: 2 PID: 5128 at kernel/softirq.c:362 __local_bh_enable_ip+0xc3/0x120  Fix this by implementing a two-phase skb reclamation in 'ieee80211_do_stop()', where actual work is performed outside of a section with interrupts disabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-21 12:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47671",
                        "url": "https://ubuntu.com/security/CVE-2024-47671",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  USB: usbtmc: prevent kernel-usb-infoleak  The syzbot reported a kernel-usb-infoleak in usbtmc_write, we need to clear the structure before filling fields.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-09 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-44931",
                        "url": "https://ubuntu.com/security/CVE-2024-44931",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gpio: prevent potential speculation leaks in gpio_device_get_desc()  Userspace may trigger a speculative read of an address outside the gpio descriptor array. Users can do that by calling gpio_ioctl() with an offset out of range. Offset is copied from user and then used as an array index to get the gpio descriptor without sanitization in gpio_device_get_desc().  This change ensures that the offset is sanitized by using array_index_nospec() to mitigate any possibility of speculative information leaks.  This bug was discovered and resolved using Coverity Static Analysis Security Testing (SAST) by Synopsys, Inc.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-08-26 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-41016",
                        "url": "https://ubuntu.com/security/CVE-2024-41016",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry()  xattr in ocfs2 maybe 'non-indexed', which saved with additional space requested.  It's better to check if the memory is out of bound before memcmp, although this possibility mainly comes from crafted poisonous images.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-07-29 07:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47670",
                        "url": "https://ubuntu.com/security/CVE-2024-47670",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: add bounds checking to ocfs2_xattr_find_entry()  Add a paranoia check to make sure it doesn't stray beyond valid memory region containing ocfs2 xattr entries when scanning for a match.  It will prevent out-of-bound access in case of crafted images.",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-09 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-47672",
                        "url": "https://ubuntu.com/security/CVE-2024-47672",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead  There is a WARNING in iwl_trans_wait_tx_queues_empty() (that was recently converted from just a message), that can be hit if we wait for TX queues to become empty after firmware died. Clearly, we can't expect anything from the firmware after it's declared dead.  Don't call iwl_trans_wait_tx_queues_empty() in this case. While it could be a good idea to stop the flow earlier, the flush functions do some maintenance work that is not related to the firmware, so keep that part of the code running even when the firmware is not running.  [edit commit message]",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-10-09 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-46853",
                        "url": "https://ubuntu.com/security/CVE-2024-46853",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: nxp-fspi: fix the KASAN report out-of-bounds bug  Change the memcpy length to fix the out-of-bounds issue when writing the data that is not 4 byte aligned to TX FIFO.  To reproduce the issue, write 3 bytes data to NOR chip.  dd if=3b of=/dev/mtd0 [   36.926103] ================================================================== [   36.933409] BUG: KASAN: slab-out-of-bounds in nxp_fspi_exec_op+0x26ec/0x2838 [   36.940514] Read of size 4 at addr ffff00081037c2a0 by task dd/455 [   36.946721] [   36.948235] CPU: 3 UID: 0 PID: 455 Comm: dd Not tainted 6.11.0-rc5-gc7b0e37c8434 #1070 [   36.956185] Hardware name: Freescale i.MX8QM MEK (DT) [   36.961260] Call trace: [   36.963723]  dump_backtrace+0x90/0xe8 [   36.967414]  show_stack+0x18/0x24 [   36.970749]  dump_stack_lvl+0x78/0x90 [   36.974451]  print_report+0x114/0x5cc [   36.978151]  kasan_report+0xa4/0xf0 [   36.981670]  __asan_report_load_n_noabort+0x1c/0x28 [   36.986587]  nxp_fspi_exec_op+0x26ec/0x2838 [   36.990800]  spi_mem_exec_op+0x8ec/0xd30 [   36.994762]  spi_mem_no_dirmap_read+0x190/0x1e0 [   36.999323]  spi_mem_dirmap_write+0x238/0x32c [   37.003710]  spi_nor_write_data+0x220/0x374 [   37.007932]  spi_nor_write+0x110/0x2e8 [   37.011711]  mtd_write_oob_std+0x154/0x1f0 [   37.015838]  mtd_write_oob+0x104/0x1d0 [   37.019617]  mtd_write+0xb8/0x12c [   37.022953]  mtdchar_write+0x224/0x47c [   37.026732]  vfs_write+0x1e4/0x8c8 [   37.030163]  ksys_write+0xec/0x1d0 [   37.033586]  __arm64_sys_write+0x6c/0x9c [   37.037539]  invoke_syscall+0x6c/0x258 [   37.041327]  el0_svc_common.constprop.0+0x160/0x22c [   37.046244]  do_el0_svc+0x44/0x5c [   37.049589]  el0_svc+0x38/0x78 [   37.052681]  el0t_64_sync_handler+0x13c/0x158 [   37.057077]  el0t_64_sync+0x190/0x194 [   37.060775] [   37.062274] Allocated by task 455: [   37.065701]  kasan_save_stack+0x2c/0x54 [   37.069570]  kasan_save_track+0x20/0x3c [   37.073438]  kasan_save_alloc_info+0x40/0x54 [   37.077736]  __kasan_kmalloc+0xa0/0xb8 [   37.081515]  __kmalloc_noprof+0x158/0x2f8 [   37.085563]  mtd_kmalloc_up_to+0x120/0x154 [   37.089690]  mtdchar_write+0x130/0x47c [   37.093469]  vfs_write+0x1e4/0x8c8 [   37.096901]  ksys_write+0xec/0x1d0 [   37.100332]  __arm64_sys_write+0x6c/0x9c [   37.104287]  invoke_syscall+0x6c/0x258 [   37.108064]  el0_svc_common.constprop.0+0x160/0x22c [   37.112972]  do_el0_svc+0x44/0x5c [   37.116319]  el0_svc+0x38/0x78 [   37.119401]  el0t_64_sync_handler+0x13c/0x158 [   37.123788]  el0t_64_sync+0x190/0x194 [   37.127474] [   37.128977] The buggy address belongs to the object at ffff00081037c2a0 [   37.128977]  which belongs to the cache kmalloc-8 of size 8 [   37.141177] The buggy address is located 0 bytes inside of [   37.141177]  allocated 3-byte region [ffff00081037c2a0, ffff00081037c2a3) [   37.153465] [   37.154971] The buggy address belongs to the physical page: [   37.160559] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x89037c [   37.168596] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff) [   37.175149] page_type: 0xfdffffff(slab) [   37.179021] raw: 0bfffe0000000000 ffff000800002500 dead000000000122 0000000000000000 [   37.186788] raw: 0000000000000000 0000000080800080 00000001fdffffff 0000000000000000 [   37.194553] page dumped because: kasan: bad access detected [   37.200144] [   37.201647] Memory state around the buggy address: [   37.206460]  ffff00081037c180: fa fc fc fc fa fc fc fc fa fc fc fc fa fc fc fc [   37.213701]  ffff00081037c200: fa fc fc fc 05 fc fc fc 03 fc fc fc 02 fc fc fc [   37.220946] >ffff00081037c280: 06 fc fc fc 03 fc fc fc fc fc fc fc fc fc fc fc [   37.228186]                                ^ [   37.232473]  ffff00081037c300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [   37.239718]  ffff00081037c380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [   37.246962] ============================================================== ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-09-27 13:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-46854",
                        "url": "https://ubuntu.com/security/CVE-2024-46854",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: dpaa: Pad packets to ETH_ZLEN  When sending packets under 60 bytes, up to three bytes of the buffer following the data may be leaked. Avoid this by extending all packets to ETH_ZLEN, ensuring nothing is leaked in the padding. This bug can be reproduced by running  \t$ ping -s 11 destination",
                        "cve_priority": "medium",
                        "cve_public_date": "2024-09-27 13:15:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [
                    2093775,
                    2086606,
                    2089233,
                    2095347,
                    2095348,
                    2093785,
                    2078011,
                    2089699,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2089558,
                    2086606,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233,
                    2089233
                ],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2024-43863",
                                "url": "https://ubuntu.com/security/CVE-2024-43863",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/vmwgfx: Fix a deadlock in dma buf fence polling  Introduce a version of the fence ops that on release doesn't remove the fence from the pending list, and thus doesn't require a lock to fix poll->fence wait->fence unref deadlocks.  vmwgfx overwrites the wait callback to iterate over the list of all fences and update their status, to do that it holds a lock to prevent the list modifcations from other threads. The fence destroy callback both deletes the fence and removes it from the list of pending fences, for which it holds a lock.  dma buf polling cb unrefs a fence after it's been signaled: so the poll calls the wait, which signals the fences, which are being destroyed. The destruction tries to acquire the lock on the pending fences list which it can never get because it's held by the wait from which it was called.  Old bug, but not a lot of userspace apps were using dma-buf polling interfaces. Fix those, in particular this fixes KDE stalls/deadlock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-08-21 00:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-40911",
                                "url": "https://ubuntu.com/security/CVE-2024-40911",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: cfg80211: Lock wiphy in cfg80211_get_station  Wiphy should be locked before calling rdev_get_station() (see lockdep assert in ieee80211_get_station()).  This fixes the following kernel NULL dereference:   Unable to handle kernel NULL pointer dereference at virtual address 0000000000000050  Mem abort info:    ESR = 0x0000000096000006    EC = 0x25: DABT (current EL), IL = 32 bits    SET = 0, FnV = 0    EA = 0, S1PTW = 0    FSC = 0x06: level 2 translation fault  Data abort info:    ISV = 0, ISS = 0x00000006    CM = 0, WnR = 0  user pgtable: 4k pages, 48-bit VAs, pgdp=0000000003001000  [0000000000000050] pgd=0800000002dca003, p4d=0800000002dca003, pud=08000000028e9003, pmd=0000000000000000  Internal error: Oops: 0000000096000006 [#1] SMP  Modules linked in: netconsole dwc3_meson_g12a dwc3_of_simple dwc3 ip_gre gre ath10k_pci ath10k_core ath9k ath9k_common ath9k_hw ath  CPU: 0 PID: 1091 Comm: kworker/u8:0 Not tainted 6.4.0-02144-g565f9a3a7911-dirty #705  Hardware name: RPT (r1) (DT)  Workqueue: bat_events batadv_v_elp_throughput_metric_update  pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)  pc : ath10k_sta_statistics+0x10/0x2dc [ath10k_core]  lr : sta_set_sinfo+0xcc/0xbd4  sp : ffff000007b43ad0  x29: ffff000007b43ad0 x28: ffff0000071fa900 x27: ffff00000294ca98  x26: ffff000006830880 x25: ffff000006830880 x24: ffff00000294c000  x23: 0000000000000001 x22: ffff000007b43c90 x21: ffff800008898acc  x20: ffff00000294c6e8 x19: ffff000007b43c90 x18: 0000000000000000  x17: 445946354d552d78 x16: 62661f7200000000 x15: 57464f445946354d  x14: 0000000000000000 x13: 00000000000000e3 x12: d5f0acbcebea978e  x11: 00000000000000e3 x10: 000000010048fe41 x9 : 0000000000000000  x8 : ffff000007b43d90 x7 : 000000007a1e2125 x6 : 0000000000000000  x5 : ffff0000024e0900 x4 : ffff800000a0250c x3 : ffff000007b43c90  x2 : ffff00000294ca98 x1 : ffff000006831920 x0 : 0000000000000000  Call trace:   ath10k_sta_statistics+0x10/0x2dc [ath10k_core]   sta_set_sinfo+0xcc/0xbd4   ieee80211_get_station+0x2c/0x44   cfg80211_get_station+0x80/0x154   batadv_v_elp_get_throughput+0x138/0x1fc   batadv_v_elp_throughput_metric_update+0x1c/0xa4   process_one_work+0x1ec/0x414   worker_thread+0x70/0x46c   kthread+0xdc/0xe0   ret_from_fork+0x10/0x20  Code: a9bb7bfd 910003fd a90153f3 f9411c40 (f9402814)  This happens because STA has time to disconnect and reconnect before batadv_v_elp_throughput_metric_update() delayed work gets scheduled. In this situation, ath10k_sta_state() can be in the middle of resetting arsta data when the work queue get chance to be scheduled and ends up accessing it. Locking wiphy prevents that.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-12 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-35896",
                                "url": "https://ubuntu.com/security/CVE-2024-35896",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: netfilter: validate user input for expected length I got multiple syzbot reports showing old bugs exposed by BPF after commit 20f2505fb436 (\"bpf: Try to avoid kzalloc in cgroup/{s,g}etsockopt\") setsockopt() @optlen argument should be taken into account before copying data. BUG: KASAN: slab-out-of-bounds in copy_from_sockptr_offset include/linux/sockptr.h:49 [inline] BUG: KASAN: slab-out-of-bounds in copy_from_sockptr include/linux/sockptr.h:55 [inline] BUG: KASAN: slab-out-of-bounds in do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline] BUG: KASAN: slab-out-of-bounds in do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627 Read of size 96 at addr ffff88802cd73da0 by task syz-executor.4/7238 CPU: 1 PID: 7238 Comm: syz-executor.4 Not tainted 6.9.0-rc2-next-20240403-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 print_address_description mm/kasan/report.c:377 [inline] print_report+0x169/0x550 mm/kasan/report.c:488 kasan_report+0x143/0x180 mm/kasan/report.c:601 kasan_check_range+0x282/0x290 mm/kasan/generic.c:189 __asan_memcpy+0x29/0x70 mm/kasan/shadow.c:105 copy_from_sockptr_offset include/linux/sockptr.h:49 [inline] copy_from_sockptr include/linux/sockptr.h:55 [inline] do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline] do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627 nf_setsockopt+0x295/0x2c0 net/netfilter/nf_sockopt.c:101 do_sock_setsockopt+0x3af/0x720 net/socket.c:2311 __sys_setsockopt+0x1ae/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340 do_syscall_64+0xfb/0x240 entry_SYSCALL_64_after_hwframe+0x72/0x7a RIP: 0033:0x7fd22067dde9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fd21f9ff0c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 00007fd2207abf80 RCX: 00007fd22067dde9 RDX: 0000000000000040 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 00007fd2206ca47a R08: 0000000000000001 R09: 0000000000000000 R10: 0000000020000880 R11: 0000000000000246 R12: 0000000000000000 R13: 000000000000000b R14: 00007fd2207abf80 R15: 00007ffd2d0170d8 </TASK> Allocated by task 7238: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:370 [inline] __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:387 kasan_kmalloc include/linux/kasan.h:211 [inline] __do_kmalloc_node mm/slub.c:4069 [inline] __kmalloc_noprof+0x200/0x410 mm/slub.c:4082 kmalloc_noprof include/linux/slab.h:664 [inline] __cgroup_bpf_run_filter_setsockopt+0xd47/0x1050 kernel/bpf/cgroup.c:1869 do_sock_setsockopt+0x6b4/0x720 net/socket.c:2293 __sys_setsockopt+0x1ae/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340 do_syscall_64+0xfb/0x240 entry_SYSCALL_64_after_hwframe+0x72/0x7a The buggy address belongs to the object at ffff88802cd73da0 which belongs to the cache kmalloc-8 of size 8 The buggy address is located 0 bytes inside of allocated 1-byte region [ffff88802cd73da0, ffff88802cd73da1) The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff88802cd73020 pfn:0x2cd73 flags: 0xfff80000000000(node=0|zone=1|lastcpupid=0xfff) page_type: 0xffffefff(slab) raw: 00fff80000000000 ffff888015041280 dead000000000100 dead000000000122 raw: ffff88802cd73020 000000008080007f 00000001ffffefff 00 ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-05-19 09:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2023-52458",
                                "url": "https://ubuntu.com/security/CVE-2023-52458",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: block: add check that partition length needs to be aligned with block size Before calling add partition or resize partition, there is no check on whether the length is aligned with the logical block size. If the logical block size of the disk is larger than 512 bytes, then the partition size maybe not the multiple of the logical block size, and when the last sector is read, bio_truncate() will adjust the bio size, resulting in an IO error if the size of the read command is smaller than the logical block size.If integrity data is supported, this will also result in a null pointer dereference when calling bio_integrity_free.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-02-23 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-35887",
                                "url": "https://ubuntu.com/security/CVE-2024-35887",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: ax25: fix use-after-free bugs caused by ax25_ds_del_timer When the ax25 device is detaching, the ax25_dev_device_down() calls ax25_ds_del_timer() to cleanup the slave_timer. When the timer handler is running, the ax25_ds_del_timer() that calls del_timer() in it will return directly. As a result, the use-after-free bugs could happen, one of the scenarios is shown below: (Thread 1) | (Thread 2) | ax25_ds_timeout() ax25_dev_device_down() | ax25_ds_del_timer() | del_timer() | ax25_dev_put() //FREE | | ax25_dev-> //USE In order to mitigate bugs, when the device is detaching, use timer_shutdown_sync() to stop the timer.",
                                "cve_priority": "low",
                                "cve_public_date": "2024-05-19 09:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-40965",
                                "url": "https://ubuntu.com/security/CVE-2024-40965",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  i2c: lpi2c: Avoid calling clk_get_rate during transfer  Instead of repeatedly calling clk_get_rate for each transfer, lock the clock rate and cache the value. A deadlock has been observed while adding tlv320aic32x4 audio codec to the system. When this clock provider adds its clock, the clk mutex is locked already, it needs to access i2c, which in return needs the mutex for clk_get_rate as well.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-12 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-40982",
                                "url": "https://ubuntu.com/security/CVE-2024-40982",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-12 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-41066",
                                "url": "https://ubuntu.com/security/CVE-2024-41066",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ibmvnic: Add tx check to prevent skb leak  Below is a summary of how the driver stores a reference to an skb during transmit:     tx_buff[free_map[consumer_index]]->skb = new_skb;     free_map[consumer_index] = IBMVNIC_INVALID_MAP;     consumer_index ++; Where variable data looks like this:     free_map == [4, IBMVNIC_INVALID_MAP, IBMVNIC_INVALID_MAP, 0, 3]                                                \tconsumer_index^     tx_buff == [skb=null, skb=<ptr>, skb=<ptr>, skb=null, skb=null]  The driver has checks to ensure that free_map[consumer_index] pointed to a valid index but there was no check to ensure that this index pointed to an unused/null skb address. So, if, by some chance, our free_map and tx_buff lists become out of sync then we were previously risking an skb memory leak. This could then cause tcp congestion control to stop sending packets, eventually leading to ETIMEDOUT.  Therefore, add a conditional to ensure that the skb address is null. If not then warn the user (because this is still a bug that should be patched) and free the old pointer to prevent memleak/tcp problems.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-29 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-42252",
                                "url": "https://ubuntu.com/security/CVE-2024-42252",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  closures: Change BUG_ON() to WARN_ON()  If a BUG_ON() can be hit in the wild, it shouldn't be a BUG_ON()  For reference, this has popped up once in the CI, and we'll need more info to debug it:  03240 ------------[ cut here ]------------ 03240 kernel BUG at lib/closure.c:21! 03240 kernel BUG at lib/closure.c:21! 03240 Internal error: Oops - BUG: 00000000f2000800 [#1] SMP 03240 Modules linked in: 03240 CPU: 15 PID: 40534 Comm: kworker/u80:1 Not tainted 6.10.0-rc4-ktest-ga56da69799bd #25570 03240 Hardware name: linux,dummy-virt (DT) 03240 Workqueue: btree_update btree_interior_update_work 03240 pstate: 00001005 (nzcv daif -PAN -UAO -TCO -DIT +SSBS BTYPE=--) 03240 pc : closure_put+0x224/0x2a0 03240 lr : closure_put+0x24/0x2a0 03240 sp : ffff0000d12071c0 03240 x29: ffff0000d12071c0 x28: dfff800000000000 x27: ffff0000d1207360 03240 x26: 0000000000000040 x25: 0000000000000040 x24: 0000000000000040 03240 x23: ffff0000c1f20180 x22: 0000000000000000 x21: ffff0000c1f20168 03240 x20: 0000000040000000 x19: ffff0000c1f20140 x18: 0000000000000001 03240 x17: 0000000000003aa0 x16: 0000000000003ad0 x15: 1fffe0001c326974 03240 x14: 0000000000000a1e x13: 0000000000000000 x12: 1fffe000183e402d 03240 x11: ffff6000183e402d x10: dfff800000000000 x9 : ffff6000183e402e 03240 x8 : 0000000000000001 x7 : 00009fffe7c1bfd3 x6 : ffff0000c1f2016b 03240 x5 : ffff0000c1f20168 x4 : ffff6000183e402e x3 : ffff800081391954 03240 x2 : 0000000000000001 x1 : 0000000000000000 x0 : 00000000a8000000 03240 Call trace: 03240  closure_put+0x224/0x2a0 03240  bch2_check_for_deadlock+0x910/0x1028 03240  bch2_six_check_for_deadlock+0x1c/0x30 03240  six_lock_slowpath.isra.0+0x29c/0xed0 03240  six_lock_ip_waiter+0xa8/0xf8 03240  __bch2_btree_node_lock_write+0x14c/0x298 03240  bch2_trans_lock_write+0x6d4/0xb10 03240  __bch2_trans_commit+0x135c/0x5520 03240  btree_interior_update_work+0x1248/0x1c10 03240  process_scheduled_works+0x53c/0xd90 03240  worker_thread+0x370/0x8c8 03240  kthread+0x258/0x2e8 03240  ret_from_fork+0x10/0x20 03240 Code: aa1303e0 d63f0020 a94363f7 17ffff8c (d4210000) 03240 ---[ end trace 0000000000000000 ]--- 03240 Kernel panic - not syncing: Oops - BUG: Fatal exception 03240 SMP: stopping secondary CPUs 03241 SMP: failed to stop secondary CPUs 13,15 03241 Kernel Offset: disabled 03241 CPU features: 0x00,00000003,80000008,4240500b 03241 Memory Limit: none 03241 ---[ end Kernel panic - not syncing: Oops - BUG: Fatal exception ]--- 03246 ========= FAILED TIMEOUT copygc_torture_no_checksum in 7200s",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-08-08 09:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-46731",
                                "url": "https://ubuntu.com/security/CVE-2024-46731",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/pm: fix the Out-of-bounds read warning  using index i - 1U may beyond element index for mc_data[] when i = 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-09-18 07:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47674",
                                "url": "https://ubuntu.com/security/CVE-2024-47674",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mm: avoid leaving partial pfn mappings around in error case  As Jann points out, PFN mappings are special, because unlike normal memory mappings, there is no lifetime information associated with the mapping - it is just a raw mapping of PFNs with no reference counting of a 'struct page'.  That's all very much intentional, but it does mean that it's easy to mess up the cleanup in case of errors.  Yes, a failed mmap() will always eventually clean up any partial mappings, but without any explicit lifetime in the page table mapping itself, it's very easy to do the error handling in the wrong order.  In particular, it's easy to mistakenly free the physical backing store before the page tables are actually cleaned up and (temporarily) have stale dangling PTE entries.  To make this situation less error-prone, just make sure that any partial pfn mapping is torn down early, before any other error handling.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-15 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-38588",
                                "url": "https://ubuntu.com/security/CVE-2024-38588",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix possible use-after-free issue in ftrace_location() KASAN reports a bug: BUG: KASAN: use-after-free in ftrace_location+0x90/0x120 Read of size 8 at addr ffff888141d40010 by task insmod/424 CPU: 8 PID: 424 Comm: insmod Tainted: G W 6.9.0-rc2+ [...] Call Trace: <TASK> dump_stack_lvl+0x68/0xa0 print_report+0xcf/0x610 kasan_report+0xb5/0xe0 ftrace_location+0x90/0x120 register_kprobe+0x14b/0xa40 kprobe_init+0x2d/0xff0 [kprobe_example] do_one_initcall+0x8f/0x2d0 do_init_module+0x13a/0x3c0 load_module+0x3082/0x33d0 init_module_from_file+0xd2/0x130 __x64_sys_finit_module+0x306/0x440 do_syscall_64+0x68/0x140 entry_SYSCALL_64_after_hwframe+0x71/0x79 The root cause is that, in lookup_rec(), ftrace record of some address is being searched in ftrace pages of some module, but those ftrace pages at the same time is being freed in ftrace_release_mod() as the corresponding module is being deleted: CPU1 | CPU2 register_kprobes() { | delete_module() { check_kprobe_address_safe() { | arch_check_ftrace_location() { | ftrace_location() { | lookup_rec() // USE! | ftrace_release_mod() // Free! To fix this issue: 1. Hold rcu lock as accessing ftrace pages in ftrace_location_range(); 2. Use ftrace_location_range() instead of lookup_rec() in ftrace_location(); 3. Call synchronize_rcu() before freeing any ftrace pages both in ftrace_process_locs()/ftrace_release_mod()/ftrace_free_mem().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-06-19 14:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50265",
                                "url": "https://ubuntu.com/security/CVE-2024-50265",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: remove entry once instead of null-ptr-dereference in ocfs2_xa_remove()  Syzkaller is able to provoke null-ptr-dereference in ocfs2_xa_remove():  [   57.319872] (a.out,1161,7):ocfs2_xa_remove:2028 ERROR: status = -12 [   57.320420] (a.out,1161,7):ocfs2_xa_cleanup_value_truncate:1999 ERROR: Partial truncate while removing xattr overlay.upper.  Leaking 1 clusters and removing the entry [   57.321727] BUG: kernel NULL pointer dereference, address: 0000000000000004 [...] [   57.325727] RIP: 0010:ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [...] [   57.331328] Call Trace: [   57.331477]  <TASK> [...] [   57.333511]  ? do_user_addr_fault+0x3e5/0x740 [   57.333778]  ? exc_page_fault+0x70/0x170 [   57.334016]  ? asm_exc_page_fault+0x2b/0x30 [   57.334263]  ? __pfx_ocfs2_xa_block_wipe_namevalue+0x10/0x10 [   57.334596]  ? ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [   57.334913]  ocfs2_xa_remove_entry+0x23/0xc0 [   57.335164]  ocfs2_xa_set+0x704/0xcf0 [   57.335381]  ? _raw_spin_unlock+0x1a/0x40 [   57.335620]  ? ocfs2_inode_cache_unlock+0x16/0x20 [   57.335915]  ? trace_preempt_on+0x1e/0x70 [   57.336153]  ? start_this_handle+0x16c/0x500 [   57.336410]  ? preempt_count_sub+0x50/0x80 [   57.336656]  ? _raw_read_unlock+0x20/0x40 [   57.336906]  ? start_this_handle+0x16c/0x500 [   57.337162]  ocfs2_xattr_block_set+0xa6/0x1e0 [   57.337424]  __ocfs2_xattr_set_handle+0x1fd/0x5d0 [   57.337706]  ? ocfs2_start_trans+0x13d/0x290 [   57.337971]  ocfs2_xattr_set+0xb13/0xfb0 [   57.338207]  ? dput+0x46/0x1c0 [   57.338393]  ocfs2_xattr_trusted_set+0x28/0x30 [   57.338665]  ? ocfs2_xattr_trusted_set+0x28/0x30 [   57.338948]  __vfs_removexattr+0x92/0xc0 [   57.339182]  __vfs_removexattr_locked+0xd5/0x190 [   57.339456]  ? preempt_count_sub+0x50/0x80 [   57.339705]  vfs_removexattr+0x5f/0x100 [...]  Reproducer uses faultinject facility to fail ocfs2_xa_remove() -> ocfs2_xa_value_truncate() with -ENOMEM.  In this case the comment mentions that we can return 0 if ocfs2_xa_cleanup_value_truncate() is going to wipe the entry anyway. But the following 'rc' check is wrong and execution flow do 'ocfs2_xa_remove_entry(loc);' twice: * 1st: in ocfs2_xa_cleanup_value_truncate(); * 2nd: returning back to ocfs2_xa_remove() instead of going to 'out'.  Fix this by skipping the 2nd removal of the same entry and making syzkaller repro happy.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50267",
                                "url": "https://ubuntu.com/security/CVE-2024-50267",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  USB: serial: io_edgeport: fix use after free in debug printk  The \"dev_dbg(&urb->dev->dev, ...\" which happens after usb_free_urb(urb) is a use after free of the \"urb\" pointer.  Store the \"dev\" pointer at the start of the function to avoid this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50269",
                                "url": "https://ubuntu.com/security/CVE-2024-50269",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: musb: sunxi: Fix accessing an released usb phy  Commit 6ed05c68cbca (\"usb: musb: sunxi: Explicitly release USB PHY on exit\") will cause that usb phy @glue->xceiv is accessed after released.  1) register platform driver @sunxi_musb_driver // get the usb phy @glue->xceiv sunxi_musb_probe() -> devm_usb_get_phy().  2) register and unregister platform driver @musb_driver musb_probe() -> sunxi_musb_init() use the phy here //the phy is released here musb_remove() -> sunxi_musb_exit() -> devm_usb_put_phy()  3) register @musb_driver again musb_probe() -> sunxi_musb_init() use the phy here but the phy has been released at 2). ...  Fixed by reverting the commit, namely, removing devm_usb_put_phy() from sunxi_musb_exit().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2021-47469",
                                "url": "https://ubuntu.com/security/CVE-2021-47469",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: spi: Fix deadlock when adding SPI controllers on SPI buses Currently we have a global spi_add_lock which we take when adding new devices so that we can check that we're not trying to reuse a chip select that's already controlled. This means that if the SPI device is itself a SPI controller and triggers the instantiation of further SPI devices we trigger a deadlock as we try to register and instantiate those devices while in the process of doing so for the parent controller and hence already holding the global spi_add_lock. Since we only care about concurrency within a single SPI bus move the lock to be per controller, avoiding the deadlock. This can be easily triggered in the case of spi-mux.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-05-22 07:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50273",
                                "url": "https://ubuntu.com/security/CVE-2024-50273",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: reinitialize delayed ref list after deleting it from the list  At insert_delayed_ref() if we need to update the action of an existing ref to BTRFS_DROP_DELAYED_REF, we delete the ref from its ref head's ref_add_list using list_del(), which leaves the ref's add_list member not reinitialized, as list_del() sets the next and prev members of the list to LIST_POISON1 and LIST_POISON2, respectively.  If later we end up calling drop_delayed_ref() against the ref, which can happen during merging or when destroying delayed refs due to a transaction abort, we can trigger a crash since at drop_delayed_ref() we call list_empty() against the ref's add_list, which returns false since the list was not reinitialized after the list_del() and as a consequence we call list_del() again at drop_delayed_ref(). This results in an invalid list access since the next and prev members are set to poison pointers, resulting in a splat if CONFIG_LIST_HARDENED and CONFIG_DEBUG_LIST are set or invalid poison pointer dereferences otherwise.  So fix this by deleting from the list with list_del_init() instead.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-53066",
                                "url": "https://ubuntu.com/security/CVE-2024-53066",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfs: Fix KMSAN warning in decode_getfattr_attrs()  Fix the following KMSAN warning:  CPU: 1 UID: 0 PID: 7651 Comm: cp Tainted: G    B Tainted: [B]=BAD_PAGE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009) ===================================================== ===================================================== BUG: KMSAN: uninit-value in decode_getfattr_attrs+0x2d6d/0x2f90  decode_getfattr_attrs+0x2d6d/0x2f90  decode_getfattr_generic+0x806/0xb00  nfs4_xdr_dec_getattr+0x1de/0x240  rpcauth_unwrap_resp_decode+0xab/0x100  rpcauth_unwrap_resp+0x95/0xc0  call_decode+0x4ff/0xb50  __rpc_execute+0x57b/0x19d0  rpc_execute+0x368/0x5e0  rpc_run_task+0xcfe/0xee0  nfs4_proc_getattr+0x5b5/0x990  __nfs_revalidate_inode+0x477/0xd00  nfs_access_get_cached+0x1021/0x1cc0  nfs_do_access+0x9f/0xae0  nfs_permission+0x1e4/0x8c0  inode_permission+0x356/0x6c0  link_path_walk+0x958/0x1330  path_lookupat+0xce/0x6b0  filename_lookup+0x23e/0x770  vfs_statx+0xe7/0x970  vfs_fstatat+0x1f2/0x2c0  __se_sys_newfstatat+0x67/0x880  __x64_sys_newfstatat+0xbd/0x120  x64_sys_call+0x1826/0x3cf0  do_syscall_64+0xd0/0x1b0  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The KMSAN warning is triggered in decode_getfattr_attrs(), when calling decode_attr_mdsthreshold(). It appears that fattr->mdsthreshold is not initialized.  Fix the issue by initializing fattr->mdsthreshold to NULL in nfs_fattr_init().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50278",
                                "url": "https://ubuntu.com/security/CVE-2024-50278",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  dm cache: fix potential out-of-bounds access on the first resume  Out-of-bounds access occurs if the fast device is expanded unexpectedly before the first-time resume of the cache table. This happens because expanding the fast device requires reloading the cache table for cache_create to allocate new in-core data structures that fit the new size, and the check in cache_preresume is not performed during the first resume, leading to the issue.  Reproduce steps:  1. prepare component devices:  dmsetup create cmeta --table \"0 8192 linear /dev/sdc 0\" dmsetup create cdata --table \"0 65536 linear /dev/sdc 8192\" dmsetup create corig --table \"0 524288 linear /dev/sdc 262144\" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct  2. load a cache table of 512 cache blocks, and deliberately expand the    fast device before resuming the cache, making the in-core data    structures inadequate.  dmsetup create cache --notable dmsetup reload cache --table \"0 524288 cache /dev/mapper/cmeta \\ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0\" dmsetup reload cdata --table \"0 131072 linear /dev/sdc 8192\" dmsetup resume cdata dmsetup resume cache  3. suspend the cache to write out the in-core dirty bitset and hint    array, leading to out-of-bounds access to the dirty bitset at offset    0x40:  dmsetup suspend cache  KASAN reports:    BUG: KASAN: vmalloc-out-of-bounds in is_dirty_callback+0x2b/0x80   Read of size 8 at addr ffffc90000085040 by task dmsetup/90    (...snip...)   The buggy address belongs to the virtual mapping at    [ffffc90000085000, ffffc90000087000) created by:    cache_ctr+0x176a/0x35f0    (...snip...)   Memory state around the buggy address:    ffffc90000084f00: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc90000084f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8   >ffffc90000085000: 00 00 00 00 00 00 00 00 f8 f8 f8 f8 f8 f8 f8 f8                                              ^    ffffc90000085080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc90000085100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8  Fix by checking the size change on the first resume.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50279",
                                "url": "https://ubuntu.com/security/CVE-2024-50279",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  dm cache: fix out-of-bounds access to the dirty bitset when resizing  dm-cache checks the dirty bits of the cache blocks to be dropped when shrinking the fast device, but an index bug in bitset iteration causes out-of-bounds access.  Reproduce steps:  1. create a cache device of 1024 cache blocks (128 bytes dirty bitset)  dmsetup create cmeta --table \"0 8192 linear /dev/sdc 0\" dmsetup create cdata --table \"0 131072 linear /dev/sdc 8192\" dmsetup create corig --table \"0 524288 linear /dev/sdc 262144\" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct dmsetup create cache --table \"0 524288 cache /dev/mapper/cmeta \\ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0\"  2. shrink the fast device to 512 cache blocks, triggering out-of-bounds    access to the dirty bitset (offset 0x80)  dmsetup suspend cache dmsetup reload cdata --table \"0 65536 linear /dev/sdc 8192\" dmsetup resume cdata dmsetup resume cache  KASAN reports:    BUG: KASAN: vmalloc-out-of-bounds in cache_preresume+0x269/0x7b0   Read of size 8 at addr ffffc900000f3080 by task dmsetup/131    (...snip...)   The buggy address belongs to the virtual mapping at    [ffffc900000f3000, ffffc900000f5000) created by:    cache_ctr+0x176a/0x35f0    (...snip...)   Memory state around the buggy address:    ffffc900000f2f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc900000f3000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >ffffc900000f3080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8                      ^    ffffc900000f3100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8    ffffc900000f3180: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8  Fix by making the index post-incremented.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50282",
                                "url": "https://ubuntu.com/security/CVE-2024-50282",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: add missing size check in amdgpu_debugfs_gprwave_read()  Avoid a possible buffer overflow if size is larger than 4K.  (cherry picked from commit f5d873f5825b40d886d03bd2aede91d4cf002434)",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50287",
                                "url": "https://ubuntu.com/security/CVE-2024-50287",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: v4l2-tpg: prevent the risk of a division by zero  As reported by Coverity, the logic at tpg_precalculate_line() blindly rescales the buffer even when scaled_witdh is equal to zero. If this ever happens, this will cause a division by zero.  Instead, add a WARN_ON_ONCE() to trigger such cases and return without doing any precalculation.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50290",
                                "url": "https://ubuntu.com/security/CVE-2024-50290",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: cx24116: prevent overflows on SNR calculus  as reported by Coverity, if reading SNR registers fail, a negative number will be returned, causing an underflow when reading SNR registers.  Prevent that.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-53061",
                                "url": "https://ubuntu.com/security/CVE-2024-53061",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: s5p-jpeg: prevent buffer overflows  The current logic allows word to be less than 2. If this happens, there will be buffer overflows, as reported by smatch. Add extra checks to prevent it.  While here, remove an unused word = 0 assignment.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-53063",
                                "url": "https://ubuntu.com/security/CVE-2024-53063",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvbdev: prevent the risk of out of memory access  The dvbdev contains a static variable used to store dvb minors.  The behavior of it depends if CONFIG_DVB_DYNAMIC_MINORS is set or not. When not set, dvb_register_device() won't check for boundaries, as it will rely that a previous call to dvb_register_adapter() would already be enforcing it.  On a similar way, dvb_device_open() uses the assumption that the register functions already did the needed checks.  This can be fragile if some device ends using different calls. This also generate warnings on static check analysers like Coverity.  So, add explicit guards to prevent potential risk of OOM issues.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50296",
                                "url": "https://ubuntu.com/security/CVE-2024-50296",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: fix kernel crash when uninstalling driver  When the driver is uninstalled and the VF is disabled concurrently, a kernel crash occurs. The reason is that the two actions call function pci_disable_sriov(). The num_VFs is checked to determine whether to release the corresponding resources. During the second calling, num_VFs is not 0 and the resource release function is called. However, the corresponding resource has been released during the first invoking. Therefore, the problem occurs:  [15277.839633][T50670] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020 ... [15278.131557][T50670] Call trace: [15278.134686][T50670]  klist_put+0x28/0x12c [15278.138682][T50670]  klist_del+0x14/0x20 [15278.142592][T50670]  device_del+0xbc/0x3c0 [15278.146676][T50670]  pci_remove_bus_device+0x84/0x120 [15278.151714][T50670]  pci_stop_and_remove_bus_device+0x6c/0x80 [15278.157447][T50670]  pci_iov_remove_virtfn+0xb4/0x12c [15278.162485][T50670]  sriov_disable+0x50/0x11c [15278.166829][T50670]  pci_disable_sriov+0x24/0x30 [15278.171433][T50670]  hnae3_unregister_ae_algo_prepare+0x60/0x90 [hnae3] [15278.178039][T50670]  hclge_exit+0x28/0xd0 [hclge] [15278.182730][T50670]  __se_sys_delete_module.isra.0+0x164/0x230 [15278.188550][T50670]  __arm64_sys_delete_module+0x1c/0x30 [15278.193848][T50670]  invoke_syscall+0x50/0x11c [15278.198278][T50670]  el0_svc_common.constprop.0+0x158/0x164 [15278.203837][T50670]  do_el0_svc+0x34/0xcc [15278.207834][T50670]  el0_svc+0x20/0x30  For details, see the following figure.       rmmod hclge              disable VFs ---------------------------------------------------- hclge_exit()            sriov_numvfs_store()   ...                     device_lock()   pci_disable_sriov()     hns3_pci_sriov_configure()                             pci_disable_sriov()                               sriov_disable()     sriov_disable()             if !num_VFs :       if !num_VFs :               return;         return;                 sriov_del_vfs()       sriov_del_vfs()             ...         ...                       klist_put()         klist_put()               ...         ...                     num_VFs = 0;       num_VFs = 0;        device_unlock();  In this patch, when driver is removing, we get the device_lock() to protect num_VFs, just like sriov_numvfs_store().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50299",
                                "url": "https://ubuntu.com/security/CVE-2024-50299",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sctp: properly validate chunk size in sctp_sf_ootb()  A size validation fix similar to that in Commit 50619dbf8db7 (\"sctp: add size validation when walking chunks\") is also required in sctp_sf_ootb() to address a crash reported by syzbot:    BUG: KMSAN: uninit-value in sctp_sf_ootb+0x7f5/0xce0 net/sctp/sm_statefuns.c:3712   sctp_sf_ootb+0x7f5/0xce0 net/sctp/sm_statefuns.c:3712   sctp_do_sm+0x181/0x93d0 net/sctp/sm_sideeffect.c:1166   sctp_endpoint_bh_rcv+0xc38/0xf90 net/sctp/endpointola.c:407   sctp_inq_push+0x2ef/0x380 net/sctp/inqueue.c:88   sctp_rcv+0x3831/0x3b20 net/sctp/input.c:243   sctp4_rcv+0x42/0x50 net/sctp/protocol.c:1159   ip_protocol_deliver_rcu+0xb51/0x13d0 net/ipv4/ip_input.c:205   ip_local_deliver_finish+0x336/0x500 net/ipv4/ip_input.c:233",
                                "cve_priority": "low",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50301",
                                "url": "https://ubuntu.com/security/CVE-2024-50301",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  security/keys: fix slab-out-of-bounds in key_task_permission  KASAN reports an out of bounds read: BUG: KASAN: slab-out-of-bounds in __kuid_val include/linux/uidgid.h:36 BUG: KASAN: slab-out-of-bounds in uid_eq include/linux/uidgid.h:63 [inline] BUG: KASAN: slab-out-of-bounds in key_task_permission+0x394/0x410 security/keys/permission.c:54 Read of size 4 at addr ffff88813c3ab618 by task stress-ng/4362  CPU: 2 PID: 4362 Comm: stress-ng Not tainted 5.10.0-14930-gafbffd6c3ede #15 Call Trace:  __dump_stack lib/dump_stack.c:82 [inline]  dump_stack+0x107/0x167 lib/dump_stack.c:123  print_address_description.constprop.0+0x19/0x170 mm/kasan/report.c:400  __kasan_report.cold+0x6c/0x84 mm/kasan/report.c:560  kasan_report+0x3a/0x50 mm/kasan/report.c:585  __kuid_val include/linux/uidgid.h:36 [inline]  uid_eq include/linux/uidgid.h:63 [inline]  key_task_permission+0x394/0x410 security/keys/permission.c:54  search_nested_keyrings+0x90e/0xe90 security/keys/keyring.c:793  This issue was also reported by syzbot.  It can be reproduced by following these steps(more details [1]): 1. Obtain more than 32 inputs that have similar hashes, which ends with the    pattern '0xxxxxxxe6'. 2. Reboot and add the keys obtained in step 1.  The reproducer demonstrates how this issue happened: 1. In the search_nested_keyrings function, when it iterates through the    slots in a node(below tag ascend_to_node), if the slot pointer is meta    and node->back_pointer != NULL(it means a root), it will proceed to    descend_to_node. However, there is an exception. If node is the root,    and one of the slots points to a shortcut, it will be treated as a    keyring. 2. Whether the ptr is keyring decided by keyring_ptr_is_keyring function.    However, KEYRING_PTR_SUBTYPE is 0x2UL, the same as    ASSOC_ARRAY_PTR_SUBTYPE_MASK. 3. When 32 keys with the similar hashes are added to the tree, the ROOT    has keys with hashes that are not similar (e.g. slot 0) and it splits    NODE A without using a shortcut. When NODE A is filled with keys that    all hashes are xxe6, the keys are similar, NODE A will split with a    shortcut. Finally, it forms the tree as shown below, where slot 6 points    to a shortcut.                        NODE A               +------>+---+       ROOT    |       | 0 | xxe6       +---+   |       +---+  xxxx | 0 | shortcut  :   : xxe6       +---+   |       +---+  xxe6 :   :   |       |   | xxe6       +---+   |       +---+       | 6 |---+       :   : xxe6       +---+           +---+  xxe6 :   :           | f | xxe6       +---+           +---+  xxe6 | f |       +---+  4. As mentioned above, If a slot(slot 6) of the root points to a shortcut,    it may be mistakenly transferred to a key*, leading to a read    out-of-bounds read.  To fix this issue, one should jump to descend_to_node if the ptr is a shortcut, regardless of whether the node is root or not.  [1] https://lore.kernel.org/linux-kernel/1cfa878e-8c7b-4570-8606-21daf5e13ce7@huaweicloud.com/  [jarkko: tweaked the commit message a bit to have an appropriate closes  tag.]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50302",
                                "url": "https://ubuntu.com/security/CVE-2024-50302",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  HID: core: zero-initialize the report buffer  Since the report buffer is used by all kinds of drivers in various ways, let's zero-initialize it during allocation to make sure that it can't be ever used to leak kernel memory via specially-crafted report.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 02:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50228",
                                "url": "https://ubuntu.com/security/CVE-2024-50228",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50230",
                                "url": "https://ubuntu.com/security/CVE-2024-50230",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix kernel bug due to missing clearing of checked flag  Syzbot reported that in directory operations after nilfs2 detects filesystem corruption and degrades to read-only, __block_write_begin_int(), which is called to prepare block writes, may fail the BUG_ON check for accesses exceeding the folio/page size, triggering a kernel bug.  This was found to be because the \"checked\" flag of a page/folio was not cleared when it was discarded by nilfs2's own routine, which causes the sanity check of directory entries to be skipped when the directory page/folio is reloaded.  So, fix that.  This was necessary when the use of nilfs2's own page discard routine was applied to more than just metadata files.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50218",
                                "url": "https://ubuntu.com/security/CVE-2024-50218",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow  Syzbot reported a kernel BUG in ocfs2_truncate_inline.  There are two reasons for this: first, the parameter value passed is greater than ocfs2_max_inline_data_with_xattr, second, the start and end parameters of ocfs2_truncate_inline are \"unsigned int\".  So, we need to add a sanity check for byte_start and byte_len right before ocfs2_truncate_inline() in ocfs2_remove_inode_range(), if they are greater than ocfs2_max_inline_data_with_xattr return -EINVAL.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50229",
                                "url": "https://ubuntu.com/security/CVE-2024-50229",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential deadlock with newly created symlinks  Syzbot reported that page_symlink(), called by nilfs_symlink(), triggers memory reclamation involving the filesystem layer, which can result in circular lock dependencies among the reader/writer semaphore nilfs->ns_segctor_sem, s_writers percpu_rwsem (intwrite) and the fs_reclaim pseudo lock.  This is because after commit 21fc61c73c39 (\"don't put symlink bodies in pagecache into highmem\"), the gfp flags of the page cache for symbolic links are overwritten to GFP_KERNEL via inode_nohighmem().  This is not a problem for symlinks read from the backing device, because the __GFP_FS flag is dropped after inode_nohighmem() is called.  However, when a new symlink is created with nilfs_symlink(), the gfp flags remain overwritten to GFP_KERNEL.  Then, memory allocation called from page_symlink() etc.  triggers memory reclamation including the FS layer, which may call nilfs_evict_inode() or nilfs_dirty_inode().  And these can cause a deadlock if they are called while nilfs->ns_segctor_sem is held:  Fix this issue by dropping the __GFP_FS flag from the page cache GFP flags of newly created symlinks in the same way that nilfs_new_inode() and __nilfs_read_inode() do, as a workaround until we adopt nofs allocation scope consistently or improve the locking constraints.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50233",
                                "url": "https://ubuntu.com/security/CVE-2024-50233",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  staging: iio: frequency: ad9832: fix division by zero in ad9832_calc_freqreg()  In the ad9832_write_frequency() function, clk_get_rate() might return 0. This can lead to a division by zero when calling ad9832_calc_freqreg(). The check if (fout > (clk_get_rate(st->mclk) / 2)) does not protect against the case when fout is 0. The ad9832_write_frequency() function is called from ad9832_write(), and fout is derived from a text buffer, which can contain any value.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50234",
                                "url": "https://ubuntu.com/security/CVE-2024-50234",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlegacy: Clear stale interrupts before resuming device  iwl4965 fails upon resume from hibernation on my laptop. The reason seems to be a stale interrupt which isn't being cleared out before interrupts are enabled. We end up with a race beween the resume trying to bring things back up, and the restart work (queued form the interrupt handler) trying to bring things down. Eventually the whole thing blows up.  Fix the problem by clearing out any stale interrupts before interrupts get enabled during resume.  Here's a debug log of the indicent: [   12.042589] ieee80211 phy0: il_isr ISR inta 0x00000080, enabled 0xaa00008b, fh 0x00000000 [   12.042625] ieee80211 phy0: il4965_irq_tasklet inta 0x00000080, enabled 0x00000000, fh 0x00000000 [   12.042651] iwl4965 0000:10:00.0: RF_KILL bit toggled to enable radio. [   12.042653] iwl4965 0000:10:00.0: On demand firmware reload [   12.042690] ieee80211 phy0: il4965_irq_tasklet End inta 0x00000000, enabled 0xaa00008b, fh 0x00000000, flags 0x00000282 [   12.052207] ieee80211 phy0: il4965_mac_start enter [   12.052212] ieee80211 phy0: il_prep_station Add STA to driver ID 31: ff:ff:ff:ff:ff:ff [   12.052244] ieee80211 phy0: il4965_set_hw_ready hardware  ready [   12.052324] ieee80211 phy0: il_apm_init Init card's basic functions [   12.052348] ieee80211 phy0: il_apm_init L1 Enabled; Disabling L0S [   12.055727] ieee80211 phy0: il4965_load_bsm Begin load bsm [   12.056140] ieee80211 phy0: il4965_verify_bsm Begin verify bsm [   12.058642] ieee80211 phy0: il4965_verify_bsm BSM bootstrap uCode image OK [   12.058721] ieee80211 phy0: il4965_load_bsm BSM write complete, poll 1 iterations [   12.058734] ieee80211 phy0: __il4965_up iwl4965 is coming up [   12.058737] ieee80211 phy0: il4965_mac_start Start UP work done. [   12.058757] ieee80211 phy0: __il4965_down iwl4965 is going down [   12.058761] ieee80211 phy0: il_scan_cancel_timeout Scan cancel timeout [   12.058762] ieee80211 phy0: il_do_scan_abort Not performing scan to abort [   12.058765] ieee80211 phy0: il_clear_ucode_stations Clearing ucode stations in driver [   12.058767] ieee80211 phy0: il_clear_ucode_stations No active stations found to be cleared [   12.058819] ieee80211 phy0: _il_apm_stop Stop card, put in low power state [   12.058827] ieee80211 phy0: _il_apm_stop_master stop master [   12.058864] ieee80211 phy0: il4965_clear_free_frames 0 frames on pre-allocated heap on clear. [   12.058869] ieee80211 phy0: Hardware restart was requested [   16.132299] iwl4965 0000:10:00.0: START_ALIVE timeout after 4000ms. [   16.132303] ------------[ cut here ]------------ [   16.132304] Hardware became unavailable upon resume. This could be a software issue prior to suspend or a hardware issue. [   16.132338] WARNING: CPU: 0 PID: 181 at net/mac80211/util.c:1826 ieee80211_reconfig+0x8f/0x14b0 [mac80211] [   16.132390] Modules linked in: ctr ccm sch_fq_codel xt_tcpudp xt_multiport xt_state iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv4 ip_tables x_tables binfmt_misc joydev mousedev btusb btrtl btintel btbcm bluetooth ecdh_generic ecc iTCO_wdt i2c_dev iwl4965 iwlegacy coretemp snd_hda_codec_analog pcspkr psmouse mac80211 snd_hda_codec_generic libarc4 sdhci_pci cqhci sha256_generic sdhci libsha256 firewire_ohci snd_hda_intel snd_intel_dspcfg mmc_core snd_hda_codec snd_hwdep firewire_core led_class iosf_mbi snd_hda_core uhci_hcd lpc_ich crc_itu_t cfg80211 ehci_pci ehci_hcd snd_pcm usbcore mfd_core rfkill snd_timer snd usb_common soundcore video parport_pc parport intel_agp wmi intel_gtt backlight e1000e agpgart evdev [   16.132456] CPU: 0 UID: 0 PID: 181 Comm: kworker/u8:6 Not tainted 6.11.0-cl+ #143 [   16.132460] Hardware name: Hewlett-Packard HP Compaq 6910p/30BE, BIOS 68MCU Ver. F.19 07/06/2010 [   16.132463] Workqueue: async async_run_entry_fn [   16.132469] RIP: 0010:ieee80211_reconfig+0x8f/0x14b0 [mac80211] [   16.132501] Code: da 02 00 0 ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50236",
                                "url": "https://ubuntu.com/security/CVE-2024-50236",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: ath10k: Fix memory leak in management tx  In the current logic, memory is allocated for storing the MSDU context during management packet TX but this memory is not being freed during management TX completion. Similar leaks are seen in the management TX cleanup logic.  Kmemleak reports this problem as below,  unreferenced object 0xffffff80b64ed250 (size 16):   comm \"kworker/u16:7\", pid 148, jiffies 4294687130 (age 714.199s)   hex dump (first 16 bytes):     00 2b d8 d8 80 ff ff ff c4 74 e9 fd 07 00 00 00  .+.......t......   backtrace:     [<ffffffe6e7b245dc>] __kmem_cache_alloc_node+0x1e4/0x2d8     [<ffffffe6e7adde88>] kmalloc_trace+0x48/0x110     [<ffffffe6bbd765fc>] ath10k_wmi_tlv_op_gen_mgmt_tx_send+0xd4/0x1d8 [ath10k_core]     [<ffffffe6bbd3eed4>] ath10k_mgmt_over_wmi_tx_work+0x134/0x298 [ath10k_core]     [<ffffffe6e78d5974>] process_scheduled_works+0x1ac/0x400     [<ffffffe6e78d60b8>] worker_thread+0x208/0x328     [<ffffffe6e78dc890>] kthread+0x100/0x1c0     [<ffffffe6e78166c0>] ret_from_fork+0x10/0x20  Free the memory during completion and cleanup to fix the leak.  Protect the mgmt_pending_tx idr_remove() operation in ath10k_wmi_tlv_op_cleanup_mgmt_tx_send() using ar->data_lock similar to other instances.  Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.2.0-01387-QCAHLSWMTPLZ-1",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50237",
                                "url": "https://ubuntu.com/security/CVE-2024-50237",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower  Avoid potentially crashing in the driver because of uninitialized private data",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50251",
                                "url": "https://ubuntu.com/security/CVE-2024-50251",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nft_payload: sanitize offset and length before calling skb_checksum()  If access to offset + length is larger than the skbuff length, then skb_checksum() triggers BUG_ON().  skb_checksum() internally subtracts the length parameter while iterating over skbuff, BUG_ON(len) at the end of it checks that the expected length to be included in the checksum calculation is fully consumed.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50262",
                                "url": "https://ubuntu.com/security/CVE-2024-50262",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Fix out-of-bounds write in trie_get_next_key()  trie_get_next_key() allocates a node stack with size trie->max_prefixlen, while it writes (trie->max_prefixlen + 1) nodes to the stack when it has full paths from the root to leaves. For example, consider a trie with max_prefixlen is 8, and the nodes with key 0x00/0, 0x00/1, 0x00/2, ... 0x00/8 inserted. Subsequent calls to trie_get_next_key with _key with .prefixlen = 8 make 9 nodes be written on the node stack with size 8.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-09 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-53059",
                                "url": "https://ubuntu.com/security/CVE-2024-53059",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlwifi: mvm: Fix response handling in iwl_mvm_send_recovery_cmd()  1. The size of the response packet is not validated. 2. The response buffer is not freed.  Resolve these issues by switching to iwl_mvm_send_cmd_status(), which handles both size validation and frees the buffer.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-19 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50142",
                                "url": "https://ubuntu.com/security/CVE-2024-50142",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfrm: validate new SA's prefixlen using SA family when sel.family is unset  This expands the validation introduced in commit 07bf7908950a (\"xfrm: Validate address prefix lengths in the xfrm selector.\")  syzbot created an SA with     usersa.sel.family = AF_UNSPEC     usersa.sel.prefixlen_s = 128     usersa.family = AF_INET  Because of the AF_UNSPEC selector, verify_newsa_info doesn't put limits on prefixlen_{s,d}. But then copy_from_user_state sets x->sel.family to usersa.family (AF_INET). Do the same conversion in verify_newsa_info before validating prefixlen_{s,d}, since that's how prefixlen is going to be used later on.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50116",
                                "url": "https://ubuntu.com/security/CVE-2024-50116",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix kernel bug due to missing clearing of buffer delay flag  Syzbot reported that after nilfs2 reads a corrupted file system image and degrades to read-only, the BUG_ON check for the buffer delay flag in submit_bh_wbc() may fail, causing a kernel bug.  This is because the buffer delay flag is not cleared when clearing the buffer state flags to discard a page/folio or a buffer head. So, fix this.  This became necessary when the use of nilfs2's own page clear routine was expanded.  This state inconsistency does not occur if the buffer is written normally by log writing.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50117",
                                "url": "https://ubuntu.com/security/CVE-2024-50117",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd: Guard against bad data for ATIF ACPI method  If a BIOS provides bad data in response to an ATIF method call this causes a NULL pointer dereference in the caller.  ``` ? show_regs (arch/x86/kernel/dumpstack.c:478 (discriminator 1)) ? __die (arch/x86/kernel/dumpstack.c:423 arch/x86/kernel/dumpstack.c:434) ? page_fault_oops (arch/x86/mm/fault.c:544 (discriminator 2) arch/x86/mm/fault.c:705 (discriminator 2)) ? do_user_addr_fault (arch/x86/mm/fault.c:440 (discriminator 1) arch/x86/mm/fault.c:1232 (discriminator 1)) ? acpi_ut_update_object_reference (drivers/acpi/acpica/utdelete.c:642) ? exc_page_fault (arch/x86/mm/fault.c:1542) ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) ? amdgpu_atif_query_backlight_caps.constprop.0 (drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:387 (discriminator 2)) amdgpu ? amdgpu_atif_query_backlight_caps.constprop.0 (drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:386 (discriminator 1)) amdgpu ```  It has been encountered on at least one system, so guard for it.  (cherry picked from commit c9b7c809b89f24e9372a4e7f02d64c950b07fdee)",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50205",
                                "url": "https://ubuntu.com/security/CVE-2024-50205",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: firewire-lib: Avoid division by zero in apply_constraint_to_size()  The step variable is initialized to zero. It is changed in the loop, but if it's not changed it will remain zero. Add a variable check before the division.  The observed behavior was introduced by commit 826b5de90c0b (\"ALSA: firewire-lib: fix insufficient PCM rule for period/buffer size\"), and it is difficult to show that any of the interval parameters will satisfy the snd_interval_test() condition with data from the amdtp_rate_table[] table.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50127",
                                "url": "https://ubuntu.com/security/CVE-2024-50127",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: sched: fix use-after-free in taprio_change()  In 'taprio_change()', 'admin' pointer may become dangling due to sched switch / removal caused by 'advance_sched()', and critical section protected by 'q->current_entry_lock' is too small to prevent from such a scenario (which causes use-after-free detected by KASAN). Fix this by prefer 'rcu_replace_pointer()' over 'rcu_assign_pointer()' to update 'admin' immediately before an attempt to schedule freeing.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50167",
                                "url": "https://ubuntu.com/security/CVE-2024-50167",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  be2net: fix potential memory leak in be_xmit()  The be_xmit() returns NETDEV_TX_OK without freeing skb in case of be_xmit_enqueue() fails, add dev_kfree_skb_any() to fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50168",
                                "url": "https://ubuntu.com/security/CVE-2024-50168",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sun3_82586: fix potential memory leak in sun3_82586_send_packet()  The sun3_82586_send_packet() returns NETDEV_TX_OK without freeing skb in case of skb->len being too long, add dev_kfree_skb() to fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50131",
                                "url": "https://ubuntu.com/security/CVE-2024-50131",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Consider the NULL character when validating the event length  strlen() returns a string length excluding the null byte. If the string length equals to the maximum buffer length, the buffer will have no space for the NULL terminating character.  This commit checks this condition and returns failure for it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50143",
                                "url": "https://ubuntu.com/security/CVE-2024-50143",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  udf: fix uninit-value use in udf_get_fileshortad  Check for overflow when computing alen in udf_current_aext to mitigate later uninit-value use in udf_get_fileshortad KMSAN bug[1]. After applying the patch reproducer did not trigger any issue[2].  [1] https://syzkaller.appspot.com/bug?extid=8901c4560b7ab5c2f9df [2] https://syzkaller.appspot.com/x/log.txt?x=10242227980000",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50134",
                                "url": "https://ubuntu.com/security/CVE-2024-50134",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/vboxvideo: Replace fake VLA at end of vbva_mouse_pointer_shape with real VLA  Replace the fake VLA at end of the vbva_mouse_pointer_shape shape with a real VLA to fix a \"memcpy: detected field-spanning write error\" warning:  [   13.319813] memcpy: detected field-spanning write (size 16896) of single field \"p->data\" at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 (size 4) [   13.319841] WARNING: CPU: 0 PID: 1105 at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 hgsmi_update_pointer_shape+0x192/0x1c0 [vboxvideo] [   13.320038] Call Trace: [   13.320173]  hgsmi_update_pointer_shape [vboxvideo] [   13.320184]  vbox_cursor_atomic_update [vboxvideo]  Note as mentioned in the added comment it seems the original length calculation for the allocated and send hgsmi buffer is 4 bytes too large. Changing this is not the goal of this patch, so this behavior is kept.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50194",
                                "url": "https://ubuntu.com/security/CVE-2024-50194",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: probes: Fix uprobes for big-endian kernels  The arm64 uprobes code is broken for big-endian kernels as it doesn't convert the in-memory instruction encoding (which is always little-endian) into the kernel's native endianness before analyzing and simulating instructions. This may result in a few distinct problems:  * The kernel may may erroneously reject probing an instruction which can   safely be probed.  * The kernel may erroneously erroneously permit stepping an   instruction out-of-line when that instruction cannot be stepped   out-of-line safely.  * The kernel may erroneously simulate instruction incorrectly dur to   interpretting the byte-swapped encoding.  The endianness mismatch isn't caught by the compiler or sparse because:  * The arch_uprobe::{insn,ixol} fields are encoded as arrays of u8, so   the compiler and sparse have no idea these contain a little-endian   32-bit value. The core uprobes code populates these with a memcpy()   which similarly does not handle endianness.  * While the uprobe_opcode_t type is an alias for __le32, both   arch_uprobe_analyze_insn() and arch_uprobe_skip_sstep() cast from u8[]   to the similarly-named probe_opcode_t, which is an alias for u32.   Hence there is no endianness conversion warning.  Fix this by changing the arch_uprobe::{insn,ixol} fields to __le32 and adding the appropriate __le32_to_cpu() conversions prior to consuming the instruction encoding. The core uprobes copies these fields as opaque ranges of bytes, and so is unaffected by this change.  At the same time, remove MAX_UINSN_BYTES and consistently use AARCH64_INSN_SIZE for clarity.  Tested with the following:  | #include <stdio.h> | #include <stdbool.h> | | #define noinline __attribute__((noinline)) | | static noinline void *adrp_self(void) | { |         void *addr; | |         asm volatile( |         \"       adrp    %x0, adrp_self\\n\" |         \"       add     %x0, %x0, :lo12:adrp_self\\n\" |         : \"=r\" (addr)); | } | | | int main(int argc, char *argv) | { |         void *ptr = adrp_self(); |         bool equal = (ptr == adrp_self); | |         printf(\"adrp_self   => %p\\n\" |                \"adrp_self() => %p\\n\" |                \"%s\\n\", |                adrp_self, ptr, equal ? \"EQUAL\" : \"NOT EQUAL\"); | |         return 0; | }  .... where the adrp_self() function was compiled to:  | 00000000004007e0 <adrp_self>: |   4007e0:       90000000        adrp    x0, 400000 <__ehdr_start> |   4007e4:       911f8000        add     x0, x0, #0x7e0 |   4007e8:       d65f03c0        ret  Before this patch, the ADRP is not recognized, and is assumed to be steppable, resulting in corruption of the result:  | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL | # echo 'p /root/adrp-self:0x007e0' > /sys/kernel/tracing/uprobe_events | # echo 1 > /sys/kernel/tracing/events/uprobes/enable | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0xffffffffff7e0 | NOT EQUAL  After this patch, the ADRP is correctly recognized and simulated:  | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL | # | # echo 'p /root/adrp-self:0x007e0' > /sys/kernel/tracing/uprobe_events | # echo 1 > /sys/kernel/tracing/events/uprobes/enable | # ./adrp-self | adrp_self   => 0x4007e0 | adrp_self() => 0x4007e0 | EQUAL",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50148",
                                "url": "https://ubuntu.com/security/CVE-2024-50148",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: bnep: fix wild-memory-access in proto_unregister  There's issue as follows:   KASAN: maybe wild-memory-access in range [0xdead...108-0xdead...10f]   CPU: 3 UID: 0 PID: 2805 Comm: rmmod Tainted: G        W   RIP: 0010:proto_unregister+0xee/0x400   Call Trace:    <TASK>    __do_sys_delete_module+0x318/0x580    do_syscall_64+0xc1/0x1d0    entry_SYSCALL_64_after_hwframe+0x77/0x7f  As bnep_init() ignore bnep_sock_init()'s return value, and bnep_sock_init() will cleanup all resource. Then when remove bnep module will call bnep_sock_cleanup() to cleanup sock's resource. To solve above issue just return bnep_sock_init()'s return value in bnep_exit().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50150",
                                "url": "https://ubuntu.com/security/CVE-2024-50150",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: altmode should keep reference to parent  The altmode device release refers to its parent device, but without keeping a reference to it.  When registering the altmode, get a reference to the parent and put it in the release function.  Before this fix, when using CONFIG_DEBUG_KOBJECT_RELEASE, we see issues like this:  [   43.572860] kobject: 'port0.0' (ffff8880057ba008): kobject_release, parent 0000000000000000 (delayed 3000) [   43.573532] kobject: 'port0.1' (ffff8880057bd008): kobject_release, parent 0000000000000000 (delayed 1000) [   43.574407] kobject: 'port0' (ffff8880057b9008): kobject_release, parent 0000000000000000 (delayed 3000) [   43.575059] kobject: 'port1.0' (ffff8880057ca008): kobject_release, parent 0000000000000000 (delayed 4000) [   43.575908] kobject: 'port1.1' (ffff8880057c9008): kobject_release, parent 0000000000000000 (delayed 4000) [   43.576908] kobject: 'typec' (ffff8880062dbc00): kobject_release, parent 0000000000000000 (delayed 4000) [   43.577769] kobject: 'port1' (ffff8880057bf008): kobject_release, parent 0000000000000000 (delayed 3000) [   46.612867] ================================================================== [   46.613402] BUG: KASAN: slab-use-after-free in typec_altmode_release+0x38/0x129 [   46.614003] Read of size 8 at addr ffff8880057b9118 by task kworker/2:1/48 [   46.614538] [   46.614668] CPU: 2 UID: 0 PID: 48 Comm: kworker/2:1 Not tainted 6.12.0-rc1-00138-gedbae730ad31 #535 [   46.615391] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014 [   46.616042] Workqueue: events kobject_delayed_cleanup [   46.616446] Call Trace: [   46.616648]  <TASK> [   46.616820]  dump_stack_lvl+0x5b/0x7c [   46.617112]  ? typec_altmode_release+0x38/0x129 [   46.617470]  print_report+0x14c/0x49e [   46.617769]  ? rcu_read_unlock_sched+0x56/0x69 [   46.618117]  ? __virt_addr_valid+0x19a/0x1ab [   46.618456]  ? kmem_cache_debug_flags+0xc/0x1d [   46.618807]  ? typec_altmode_release+0x38/0x129 [   46.619161]  kasan_report+0x8d/0xb4 [   46.619447]  ? typec_altmode_release+0x38/0x129 [   46.619809]  ? process_scheduled_works+0x3cb/0x85f [   46.620185]  typec_altmode_release+0x38/0x129 [   46.620537]  ? process_scheduled_works+0x3cb/0x85f [   46.620907]  device_release+0xaf/0xf2 [   46.621206]  kobject_delayed_cleanup+0x13b/0x17a [   46.621584]  process_scheduled_works+0x4f6/0x85f [   46.621955]  ? __pfx_process_scheduled_works+0x10/0x10 [   46.622353]  ? hlock_class+0x31/0x9a [   46.622647]  ? lock_acquired+0x361/0x3c3 [   46.622956]  ? move_linked_works+0x46/0x7d [   46.623277]  worker_thread+0x1ce/0x291 [   46.623582]  ? __kthread_parkme+0xc8/0xdf [   46.623900]  ? __pfx_worker_thread+0x10/0x10 [   46.624236]  kthread+0x17e/0x190 [   46.624501]  ? kthread+0xfb/0x190 [   46.624756]  ? __pfx_kthread+0x10/0x10 [   46.625015]  ret_from_fork+0x20/0x40 [   46.625268]  ? __pfx_kthread+0x10/0x10 [   46.625532]  ret_from_fork_asm+0x1a/0x30 [   46.625805]  </TASK> [   46.625953] [   46.626056] Allocated by task 678: [   46.626287]  kasan_save_stack+0x24/0x44 [   46.626555]  kasan_save_track+0x14/0x2d [   46.626811]  __kasan_kmalloc+0x3f/0x4d [   46.627049]  __kmalloc_noprof+0x1bf/0x1f0 [   46.627362]  typec_register_port+0x23/0x491 [   46.627698]  cros_typec_probe+0x634/0xbb6 [   46.628026]  platform_probe+0x47/0x8c [   46.628311]  really_probe+0x20a/0x47d [   46.628605]  device_driver_attach+0x39/0x72 [   46.628940]  bind_store+0x87/0xd7 [   46.629213]  kernfs_fop_write_iter+0x1aa/0x218 [   46.629574]  vfs_write+0x1d6/0x29b [   46.629856]  ksys_write+0xcd/0x13b [   46.630128]  do_syscall_64+0xd4/0x139 [   46.630420]  entry_SYSCALL_64_after_hwframe+0x76/0x7e [   46.630820] [   46.630946] Freed by task 48: [   46.631182]  kasan_save_stack+0x24/0x44 [   46.631493]  kasan_save_track+0x14/0x2d [   46.631799]  kasan_save_free_info+0x3f/0x4d [   46.632144]  __kasan_slab_free+0x37/0x45 [   46.632474] ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50151",
                                "url": "https://ubuntu.com/security/CVE-2024-50151",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smb: client: fix OOBs when building SMB2_IOCTL request  When using encryption, either enforced by the server or when using 'seal' mount option, the client will squash all compound request buffers down for encryption into a single iov in smb2_set_next_command().  SMB2_ioctl_init() allocates a small buffer (448 bytes) to hold the SMB2_IOCTL request in the first iov, and if the user passes an input buffer that is greater than 328 bytes, smb2_set_next_command() will end up writing off the end of @rqst->iov[0].iov_base as shown below:    mount.cifs //srv/share /mnt -o ...,seal   ln -s $(perl -e \"print('a')for 1..1024\") /mnt/link    BUG: KASAN: slab-out-of-bounds in   smb2_set_next_command.cold+0x1d6/0x24c [cifs]   Write of size 4116 at addr ffff8881148fcab8 by task ln/859    CPU: 1 UID: 0 PID: 859 Comm: ln Not tainted 6.12.0-rc3 #1   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS   1.16.3-2.fc40 04/01/2014   Call Trace:    <TASK>    dump_stack_lvl+0x5d/0x80    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    print_report+0x156/0x4d9    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    ? __virt_addr_valid+0x145/0x310    ? __phys_addr+0x46/0x90    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    kasan_report+0xda/0x110    ? smb2_set_next_command.cold+0x1d6/0x24c [cifs]    kasan_check_range+0x10f/0x1f0    __asan_memcpy+0x3c/0x60    smb2_set_next_command.cold+0x1d6/0x24c [cifs]    smb2_compound_op+0x238c/0x3840 [cifs]    ? kasan_save_track+0x14/0x30    ? kasan_save_free_info+0x3b/0x70    ? vfs_symlink+0x1a1/0x2c0    ? do_symlinkat+0x108/0x1c0    ? __pfx_smb2_compound_op+0x10/0x10 [cifs]    ? kmem_cache_free+0x118/0x3e0    ? cifs_get_writable_path+0xeb/0x1a0 [cifs]    smb2_get_reparse_inode+0x423/0x540 [cifs]    ? __pfx_smb2_get_reparse_inode+0x10/0x10 [cifs]    ? rcu_is_watching+0x20/0x50    ? __kmalloc_noprof+0x37c/0x480    ? smb2_create_reparse_symlink+0x257/0x490 [cifs]    ? smb2_create_reparse_symlink+0x38f/0x490 [cifs]    smb2_create_reparse_symlink+0x38f/0x490 [cifs]    ? __pfx_smb2_create_reparse_symlink+0x10/0x10 [cifs]    ? find_held_lock+0x8a/0xa0    ? hlock_class+0x32/0xb0    ? __build_path_from_dentry_optional_prefix+0x19d/0x2e0 [cifs]    cifs_symlink+0x24f/0x960 [cifs]    ? __pfx_make_vfsuid+0x10/0x10    ? __pfx_cifs_symlink+0x10/0x10 [cifs]    ? make_vfsgid+0x6b/0xc0    ? generic_permission+0x96/0x2d0    vfs_symlink+0x1a1/0x2c0    do_symlinkat+0x108/0x1c0    ? __pfx_do_symlinkat+0x10/0x10    ? strncpy_from_user+0xaa/0x160    __x64_sys_symlinkat+0xb9/0xf0    do_syscall_64+0xbb/0x1d0    entry_SYSCALL_64_after_hwframe+0x77/0x7f   RIP: 0033:0x7f08d75c13bb",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50171",
                                "url": "https://ubuntu.com/security/CVE-2024-50171",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: systemport: fix potential memory leak in bcm_sysport_xmit()  The bcm_sysport_xmit() returns NETDEV_TX_OK without freeing skb in case of dma_map_single() fails, add dev_kfree_skb() to fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-07 10:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50202",
                                "url": "https://ubuntu.com/security/CVE-2024-50202",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: propagate directory read errors from nilfs_find_entry()  Syzbot reported that a task hang occurs in vcs_open() during a fuzzing test for nilfs2.  The root cause of this problem is that in nilfs_find_entry(), which searches for directory entries, ignores errors when loading a directory page/folio via nilfs_get_folio() fails.  If the filesystem images is corrupted, and the i_size of the directory inode is large, and the directory page/folio is successfully read but fails the sanity check, for example when it is zero-filled, nilfs_check_folio() may continue to spit out error messages in bursts.  Fix this issue by propagating the error to the callers when loading a page/folio fails in nilfs_find_entry().  The current interface of nilfs_find_entry() and its callers is outdated and cannot propagate error codes such as -EIO and -ENOMEM returned via nilfs_find_entry(), so fix it together.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50074",
                                "url": "https://ubuntu.com/security/CVE-2024-50074",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parport: Proper fix for array out-of-bounds access  The recent fix for array out-of-bounds accesses replaced sprintf() calls blindly with snprintf().  However, since snprintf() returns the would-be-printed size, not the actually output size, the length calculation can still go over the given limit.  Use scnprintf() instead of snprintf(), which returns the actually output letters, for addressing the potential out-of-bounds access properly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-29 01:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50082",
                                "url": "https://ubuntu.com/security/CVE-2024-50082",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  blk-rq-qos: fix crash on rq_qos_wait vs. rq_qos_wake_function race  We're seeing crashes from rq_qos_wake_function that look like this:    BUG: unable to handle page fault for address: ffffafe180a40084   #PF: supervisor write access in kernel mode   #PF: error_code(0x0002) - not-present page   PGD 100000067 P4D 100000067 PUD 10027c067 PMD 10115d067 PTE 0   Oops: Oops: 0002 [#1] PREEMPT SMP PTI   CPU: 17 UID: 0 PID: 0 Comm: swapper/17 Not tainted 6.12.0-rc3-00013-geca631b8fe80 #11   Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014   RIP: 0010:_raw_spin_lock_irqsave+0x1d/0x40   Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 41 54 9c 41 5c fa 65 ff 05 62 97 30 4c 31 c0 ba 01 00 00 00 <f0> 0f b1 17 75 0a 4c 89 e0 41 5c c3 cc cc cc cc 89 c6 e8 2c 0b 00   RSP: 0018:ffffafe180580ca0 EFLAGS: 00010046   RAX: 0000000000000000 RBX: ffffafe180a3f7a8 RCX: 0000000000000011   RDX: 0000000000000001 RSI: 0000000000000003 RDI: ffffafe180a40084   RBP: 0000000000000000 R08: 00000000001e7240 R09: 0000000000000011   R10: 0000000000000028 R11: 0000000000000888 R12: 0000000000000002   R13: ffffafe180a40084 R14: 0000000000000000 R15: 0000000000000003   FS:  0000000000000000(0000) GS:ffff9aaf1f280000(0000) knlGS:0000000000000000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: ffffafe180a40084 CR3: 000000010e428002 CR4: 0000000000770ef0   DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000   DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400   PKRU: 55555554   Call Trace:    <IRQ>    try_to_wake_up+0x5a/0x6a0    rq_qos_wake_function+0x71/0x80    __wake_up_common+0x75/0xa0    __wake_up+0x36/0x60    scale_up.part.0+0x50/0x110    wb_timer_fn+0x227/0x450    ...  So rq_qos_wake_function() calls wake_up_process(data->task), which calls try_to_wake_up(), which faults in raw_spin_lock_irqsave(&p->pi_lock).  p comes from data->task, and data comes from the waitqueue entry, which is stored on the waiter's stack in rq_qos_wait(). Analyzing the core dump with drgn, I found that the waiter had already woken up and moved on to a completely unrelated code path, clobbering what was previously data->task. Meanwhile, the waker was passing the clobbered garbage in data->task to wake_up_process(), leading to the crash.  What's happening is that in between rq_qos_wake_function() deleting the waitqueue entry and calling wake_up_process(), rq_qos_wait() is finding that it already got a token and returning. The race looks like this:  rq_qos_wait()                           rq_qos_wake_function() ============================================================== prepare_to_wait_exclusive()                                         data->got_token = true;                                         list_del_init(&curr->entry); if (data.got_token)         break; finish_wait(&rqw->wait, &data.wq);   ^- returns immediately because      list_empty_careful(&wq_entry->entry)      is true ... return, go do something else ...                                         wake_up_process(data->task)                                           (NO LONGER VALID!)-^  Normally, finish_wait() is supposed to synchronize against the waker. But, as noted above, it is returning immediately because the waitqueue entry has already been removed from the waitqueue.  The bug is that rq_qos_wake_function() is accessing the waitqueue entry AFTER deleting it. Note that autoremove_wake_function() wakes the waiter and THEN deletes the waitqueue entry, which is the proper order.  Fix it by swapping the order. We also need to use list_del_init_careful() to match the list_empty_careful() in finish_wait().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-29 01:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-40953",
                                "url": "https://ubuntu.com/security/CVE-2024-40953",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()  Use {READ,WRITE}_ONCE() to access kvm->last_boosted_vcpu to ensure the loads and stores are atomic.  In the extremely unlikely scenario the compiler tears the stores, it's theoretically possible for KVM to attempt to get a vCPU using an out-of-bounds index, e.g. if the write is split into multiple 8-bit stores, and is paired with a 32-bit load on a VM with 257 vCPUs:    CPU0                              CPU1   last_boosted_vcpu = 0xff;                                      (last_boosted_vcpu = 0x100)                                     last_boosted_vcpu[15:8] = 0x01;   i = (last_boosted_vcpu = 0x1ff)                                     last_boosted_vcpu[7:0] = 0x00;    vcpu = kvm->vcpu_array[0x1ff];  As detected by KCSAN:    BUG: KCSAN: data-race in kvm_vcpu_on_spin [kvm] / kvm_vcpu_on_spin [kvm]    write to 0xffffc90025a92344 of 4 bytes by task 4340 on cpu 16:   kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4112) kvm   handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel   vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? \t\t arch/x86/kvm/vmx/vmx.c:6606) kvm_intel   vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm   kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm   kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm   __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)   __x64_sys_ioctl (fs/ioctl.c:890)   x64_sys_call (arch/x86/entry/syscall_64.c:33)   do_syscall_64 (arch/x86/entry/common.c:?)   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)    read to 0xffffc90025a92344 of 4 bytes by task 4342 on cpu 4:   kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4069) kvm   handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel   vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? \t\t\tarch/x86/kvm/vmx/vmx.c:6606) kvm_intel   vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm   kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm   kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm   __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)   __x64_sys_ioctl (fs/ioctl.c:890)   x64_sys_call (arch/x86/entry/syscall_64.c:33)   do_syscall_64 (arch/x86/entry/common.c:?)   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)    value changed: 0x00000012 -> 0x00000000",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-12 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50199",
                                "url": "https://ubuntu.com/security/CVE-2024-50199",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mm/swapfile: skip HugeTLB pages for unuse_vma  I got a bad pud error and lost a 1GB HugeTLB when calling swapoff.  The problem can be reproduced by the following steps:   1. Allocate an anonymous 1GB HugeTLB and some other anonymous memory.  2. Swapout the above anonymous memory.  3. run swapoff and we will get a bad pud error in kernel message:    mm/pgtable-generic.c:42: bad pud 00000000743d215d(84000001400000e7)  We can tell that pud_clear_bad is called by pud_none_or_clear_bad in unuse_pud_range() by ftrace.  And therefore the HugeTLB pages will never be freed because we lost it from page table.  We can skip HugeTLB pages for unuse_vma to fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50099",
                                "url": "https://ubuntu.com/security/CVE-2024-50099",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: probes: Remove broken LDR (literal) uprobe support  The simulate_ldr_literal() and simulate_ldrsw_literal() functions are unsafe to use for uprobes. Both functions were originally written for use with kprobes, and access memory with plain C accesses. When uprobes was added, these were reused unmodified even though they cannot safely access user memory.  There are three key problems:  1) The plain C accesses do not have corresponding extable entries, and    thus if they encounter a fault the kernel will treat these as    unintentional accesses to user memory, resulting in a BUG() which    will kill the kernel thread, and likely lead to further issues (e.g.    lockup or panic()).  2) The plain C accesses are subject to HW PAN and SW PAN, and so when    either is in use, any attempt to simulate an access to user memory    will fault. Thus neither simulate_ldr_literal() nor    simulate_ldrsw_literal() can do anything useful when simulating a    user instruction on any system with HW PAN or SW PAN.  3) The plain C accesses are privileged, as they run in kernel context,    and in practice can access a small range of kernel virtual addresses.    The instructions they simulate have a range of +/-1MiB, and since the    simulated instructions must itself be a user instructions in the    TTBR0 address range, these can address the final 1MiB of the TTBR1    acddress range by wrapping downwards from an address in the first    1MiB of the TTBR0 address range.     In contemporary kernels the last 8MiB of TTBR1 address range is    reserved, and accesses to this will always fault, meaning this is no    worse than (1).     Historically, it was theoretically possible for the linear map or    vmemmap to spill into the final 8MiB of the TTBR1 address range, but    in practice this is extremely unlikely to occur as this would    require either:     * Having enough physical memory to fill the entire linear map all the      way to the final 1MiB of the TTBR1 address range.     * Getting unlucky with KASLR randomization of the linear map such      that the populated region happens to overlap with the last 1MiB of      the TTBR address range.     ... and in either case if we were to spill into the final page there    would be larger problems as the final page would alias with error    pointers.  Practically speaking, (1) and (2) are the big issues. Given there have been no reports of problems since the broken code was introduced, it appears that no-one is relying on probing these instructions with uprobes.  Avoid these issues by not allowing uprobes on LDR (literal) and LDRSW (literal), limiting the use of simulate_ldr_literal() and simulate_ldrsw_literal() to kprobes. Attempts to place uprobes on LDR (literal) and LDRSW (literal) will be rejected as arm_probe_decode_insn() will return INSN_REJECTED. In future we can consider introducing working uprobes support for these instructions, but this will require more significant work.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50195",
                                "url": "https://ubuntu.com/security/CVE-2024-50195",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  posix-clock: Fix missing timespec64 check in pc_clock_settime()  As Andrew pointed out, it will make sense that the PTP core checked timespec64 struct's tv_sec and tv_nsec range before calling ptp->info->settime64().  As the man manual of clock_settime() said, if tp.tv_sec is negative or tp.tv_nsec is outside the range [0..999,999,999], it should return EINVAL, which include dynamic clocks which handles PTP clock, and the condition is consistent with timespec64_valid(). As Thomas suggested, timespec64_valid() only check the timespec is valid, but not ensure that the time is in a valid range, so check it ahead using timespec64_valid_strict() in pc_clock_settime() and return -EINVAL if not valid.  There are some drivers that use tp->tv_sec and tp->tv_nsec directly to write registers without validity checks and assume that the higher layer has checked it, which is dangerous and will benefit from this, such as hclge_ptp_settime(), igb_ptp_settime_i210(), _rcar_gen4_ptp_settime(), and some drivers can remove the checks of itself.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50096",
                                "url": "https://ubuntu.com/security/CVE-2024-50096",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nouveau/dmem: Fix vulnerability in migrate_to_ram upon copy error  The `nouveau_dmem_copy_one` function ensures that the copy push command is sent to the device firmware but does not track whether it was executed successfully.  In the case of a copy error (e.g., firmware or hardware failure), the copy push command will be sent via the firmware channel, and `nouveau_dmem_copy_one` will likely report success, leading to the `migrate_to_ram` function returning a dirty HIGH_USER page to the user.  This can result in a security vulnerability, as a HIGH_USER page that may contain sensitive or corrupted data could be returned to the user.  To prevent this vulnerability, we allocate a zero page. Thus, in case of an error, a non-dirty (zero) page will be returned to the user.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 17:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50024",
                                "url": "https://ubuntu.com/security/CVE-2024-50024",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: Fix an unsafe loop on the list  The kernel may crash when deleting a genetlink family if there are still listeners for that family:  Oops: Kernel access of bad area, sig: 11 [#1]   ...   NIP [c000000000c080bc] netlink_update_socket_mc+0x3c/0xc0   LR [c000000000c0f764] __netlink_clear_multicast_users+0x74/0xc0   Call Trace: __netlink_clear_multicast_users+0x74/0xc0 genl_unregister_family+0xd4/0x2d0  Change the unsafe loop on the list to a safe one, because inside the loop there is an element removal from this list.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49878",
                                "url": "https://ubuntu.com/security/CVE-2024-49878",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  resource: fix region_intersects() vs add_memory_driver_managed()  On a system with CXL memory, the resource tree (/proc/iomem) related to CXL memory may look like something as follows.  490000000-50fffffff : CXL Window 0   490000000-50fffffff : region0     490000000-50fffffff : dax0.0       490000000-50fffffff : System RAM (kmem)  Because drivers/dax/kmem.c calls add_memory_driver_managed() during onlining CXL memory, which makes \"System RAM (kmem)\" a descendant of \"CXL Window X\".  This confuses region_intersects(), which expects all \"System RAM\" resources to be at the top level of iomem_resource.  This can lead to bugs.  For example, when the following command line is executed to write some memory in CXL memory range via /dev/mem,   $ dd if=data of=/dev/mem bs=$((1 << 10)) seek=$((0x490000000 >> 10)) count=1  dd: error writing '/dev/mem': Bad address  1+0 records in  0+0 records out  0 bytes copied, 0.0283507 s, 0.0 kB/s  the command fails as expected.  However, the error code is wrong.  It should be \"Operation not permitted\" instead of \"Bad address\".  More seriously, the /dev/mem permission checking in devmem_is_allowed() passes incorrectly.  Although the accessing is prevented later because ioremap() isn't allowed to map system RAM, it is a potential security issue.  During command executing, the following warning is reported in the kernel log for calling ioremap() on system RAM.   ioremap on RAM at 0x0000000490000000 - 0x0000000490000fff  WARNING: CPU: 2 PID: 416 at arch/x86/mm/ioremap.c:216 __ioremap_caller.constprop.0+0x131/0x35d  Call Trace:   memremap+0xcb/0x184   xlate_dev_mem_ptr+0x25/0x2f   write_mem+0x94/0xfb   vfs_write+0x128/0x26d   ksys_write+0xac/0xfe   do_syscall_64+0x9a/0xfd   entry_SYSCALL_64_after_hwframe+0x4b/0x53  The details of command execution process are as follows.  In the above resource tree, \"System RAM\" is a descendant of \"CXL Window 0\" instead of a top level resource.  So, region_intersects() will report no System RAM resources in the CXL memory region incorrectly, because it only checks the top level resources.  Consequently, devmem_is_allowed() will return 1 (allow access via /dev/mem) for CXL memory region incorrectly. Fortunately, ioremap() doesn't allow to map System RAM and reject the access.  So, region_intersects() needs to be fixed to work correctly with the resource tree with \"System RAM\" not at top level as above.  To fix it, if we found a unmatched resource in the top level, we will continue to search matched resources in its descendant resources.  So, we will not miss any matched resources in resource tree anymore.  In the new implementation, an example resource tree  |------------- \"CXL Window 0\" ------------| |-- \"System RAM\" --|  will behave similar as the following fake resource tree for region_intersects(, IORESOURCE_SYSTEM_RAM, ),  |-- \"System RAM\" --||-- \"CXL Window 0a\" --|  Where \"CXL Window 0a\" is part of the original \"CXL Window 0\" that isn't covered by \"System RAM\".",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50033",
                                "url": "https://ubuntu.com/security/CVE-2024-50033",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  slip: make slhc_remember() more robust against malicious packets  syzbot found that slhc_remember() was missing checks against malicious packets [1].  slhc_remember() only checked the size of the packet was at least 20, which is not good enough.  We need to make sure the packet includes the IPv4 and TCP header that are supposed to be carried.  Add iph and th pointers to make the code more readable.  [1]  BUG: KMSAN: uninit-value in slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666   slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666   ppp_receive_nonmp_frame+0xe45/0x35e0 drivers/net/ppp/ppp_generic.c:2455   ppp_receive_frame drivers/net/ppp/ppp_generic.c:2372 [inline]   ppp_do_recv+0x65f/0x40d0 drivers/net/ppp/ppp_generic.c:2212   ppp_input+0x7dc/0xe60 drivers/net/ppp/ppp_generic.c:2327   pppoe_rcv_core+0x1d3/0x720 drivers/net/ppp/pppoe.c:379   sk_backlog_rcv+0x13b/0x420 include/net/sock.h:1113   __release_sock+0x1da/0x330 net/core/sock.c:3072   release_sock+0x6b/0x250 net/core/sock.c:3626   pppoe_sendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was created at:   slab_post_alloc_hook mm/slub.c:4091 [inline]   slab_alloc_node mm/slub.c:4134 [inline]   kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4186   kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:587   __alloc_skb+0x363/0x7b0 net/core/skbuff.c:678   alloc_skb include/linux/skbuff.h:1322 [inline]   sock_wmalloc+0xfe/0x1a0 net/core/sock.c:2732   pppoe_sendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  CPU: 0 UID: 0 PID: 5460 Comm: syz.2.33 Not tainted 6.12.0-rc2-syzkaller-00006-g87d6aab2389e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50035",
                                "url": "https://ubuntu.com/security/CVE-2024-50035",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ppp: fix ppp_async_encode() illegal access  syzbot reported an issue in ppp_async_encode() [1]  In this case, pppoe_sendmsg() is called with a zero size. Then ppp_async_encode() is called with an empty skb.  BUG: KMSAN: uninit-value in ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline]  BUG: KMSAN: uninit-value in ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675   ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline]   ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675   ppp_async_send+0x130/0x1b0 drivers/net/ppp/ppp_async.c:634   ppp_channel_bridge_input drivers/net/ppp/ppp_generic.c:2280 [inline]   ppp_input+0x1f1/0xe60 drivers/net/ppp/ppp_generic.c:2304   pppoe_rcv_core+0x1d3/0x720 drivers/net/ppp/pppoe.c:379   sk_backlog_rcv+0x13b/0x420 include/net/sock.h:1113   __release_sock+0x1da/0x330 net/core/sock.c:3072   release_sock+0x6b/0x250 net/core/sock.c:3626   pppoe_sendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was created at:   slab_post_alloc_hook mm/slub.c:4092 [inline]   slab_alloc_node mm/slub.c:4135 [inline]   kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4187   kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:587   __alloc_skb+0x363/0x7b0 net/core/skbuff.c:678   alloc_skb include/linux/skbuff.h:1322 [inline]   sock_wmalloc+0xfe/0x1a0 net/core/sock.c:2732   pppoe_sendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867   sock_sendmsg_nosec net/socket.c:729 [inline]   __sock_sendmsg+0x30f/0x380 net/socket.c:744   ____sys_sendmsg+0x903/0xb60 net/socket.c:2602   ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656   __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742   __do_sys_sendmmsg net/socket.c:2771 [inline]   __se_sys_sendmmsg net/socket.c:2768 [inline]   __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768   x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  CPU: 1 UID: 0 PID: 5411 Comm: syz.1.14 Not tainted 6.12.0-rc1-syzkaller-00165-g360c1f1f24c6 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50039",
                                "url": "https://ubuntu.com/security/CVE-2024-50039",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: accept TCA_STAB only for root qdisc  Most qdiscs maintain their backlog using qdisc_pkt_len(skb) on the assumption it is invariant between the enqueue() and dequeue() handlers.  Unfortunately syzbot can crash a host rather easily using a TBF + SFQ combination, with an STAB on SFQ [1]  We can't support TCA_STAB on arbitrary level, this would require to maintain per-qdisc storage.  [1] [   88.796496] BUG: kernel NULL pointer dereference, address: 0000000000000000 [   88.798611] #PF: supervisor read access in kernel mode [   88.799014] #PF: error_code(0x0000) - not-present page [   88.799506] PGD 0 P4D 0 [   88.799829] Oops: Oops: 0000 [#1] SMP NOPTI [   88.800569] CPU: 14 UID: 0 PID: 2053 Comm: b371744477 Not tainted 6.12.0-rc1-virtme #1117 [   88.801107] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [   88.801779] RIP: 0010:sfq_dequeue (net/sched/sch_sfq.c:272 net/sched/sch_sfq.c:499) sch_sfq [ 88.802544] Code: 0f b7 50 12 48 8d 04 d5 00 00 00 00 48 89 d6 48 29 d0 48 8b 91 c0 01 00 00 48 c1 e0 03 48 01 c2 66 83 7a 1a 00 7e c0 48 8b 3a <4c> 8b 07 4c 89 02 49 89 50 08 48 c7 47 08 00 00 00 00 48 c7 07 00 All code ========    0:\t0f b7 50 12          \tmovzwl 0x12(%rax),%edx    4:\t48 8d 04 d5 00 00 00 \tlea    0x0(,%rdx,8),%rax    b:\t00    c:\t48 89 d6             \tmov    %rdx,%rsi    f:\t48 29 d0             \tsub    %rdx,%rax   12:\t48 8b 91 c0 01 00 00 \tmov    0x1c0(%rcx),%rdx   19:\t48 c1 e0 03          \tshl    $0x3,%rax   1d:\t48 01 c2             \tadd    %rax,%rdx   20:\t66 83 7a 1a 00       \tcmpw   $0x0,0x1a(%rdx)   25:\t7e c0                \tjle    0xffffffffffffffe7   27:\t48 8b 3a             \tmov    (%rdx),%rdi   2a:*\t4c 8b 07             \tmov    (%rdi),%r8\t\t<-- trapping instruction   2d:\t4c 89 02             \tmov    %r8,(%rdx)   30:\t49 89 50 08          \tmov    %rdx,0x8(%r8)   34:\t48 c7 47 08 00 00 00 \tmovq   $0x0,0x8(%rdi)   3b:\t00   3c:\t48                   \trex.W   3d:\tc7                   \t.byte 0xc7   3e:\t07                   \t(bad) \t...  Code starting with the faulting instruction ===========================================    0:\t4c 8b 07             \tmov    (%rdi),%r8    3:\t4c 89 02             \tmov    %r8,(%rdx)    6:\t49 89 50 08          \tmov    %rdx,0x8(%r8)    a:\t48 c7 47 08 00 00 00 \tmovq   $0x0,0x8(%rdi)   11:\t00   12:\t48                   \trex.W   13:\tc7                   \t.byte 0xc7   14:\t07                   \t(bad) \t... [   88.803721] RSP: 0018:ffff9a1f892b7d58 EFLAGS: 00000206 [   88.804032] RAX: 0000000000000000 RBX: ffff9a1f8420c800 RCX: ffff9a1f8420c800 [   88.804560] RDX: ffff9a1f81bc1440 RSI: 0000000000000000 RDI: 0000000000000000 [   88.805056] RBP: ffffffffc04bb0e0 R08: 0000000000000001 R09: 00000000ff7f9a1f [   88.805473] R10: 000000000001001b R11: 0000000000009a1f R12: 0000000000000140 [   88.806194] R13: 0000000000000001 R14: ffff9a1f886df400 R15: ffff9a1f886df4ac [   88.806734] FS:  00007f445601a740(0000) GS:ffff9a2e7fd80000(0000) knlGS:0000000000000000 [   88.807225] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [   88.807672] CR2: 0000000000000000 CR3: 000000050cc46000 CR4: 00000000000006f0 [   88.808165] Call Trace: [   88.808459]  <TASK> [   88.808710] ? __die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434) [   88.809261] ? page_fault_oops (arch/x86/mm/fault.c:715) [   88.809561] ? exc_page_fault (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:87 ./arch/x86/include/asm/irqflags.h:147 arch/x86/mm/fault.c:1489 arch/x86/mm/fault.c:1539) [   88.809806] ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) [   88.810074] ? sfq_dequeue (net/sched/sch_sfq.c:272 net/sched/sch_sfq.c:499) sch_sfq [   88.810411] sfq_reset (net/sched/sch_sfq.c:525) sch_sfq [   88.810671] qdisc_reset (./include/linux/skbuff.h:2135 ./include/linux/skbuff.h:2441 ./include/linux/skbuff.h:3304 ./include/linux/skbuff.h:3310 net/sched/sch_g ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50040",
                                "url": "https://ubuntu.com/security/CVE-2024-50040",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  igb: Do not bring the device up after non-fatal error  Commit 004d25060c78 (\"igb: Fix igb_down hung on surprise removal\") changed igb_io_error_detected() to ignore non-fatal pcie errors in order to avoid hung task that can happen when igb_down() is called multiple times. This caused an issue when processing transient non-fatal errors. igb_io_resume(), which is called after igb_io_error_detected(), assumes that device is brought down by igb_io_error_detected() if the interface is up. This resulted in panic with stacktrace below.  [ T3256] igb 0000:09:00.0 haeth0: igb: haeth0 NIC Link is Down [  T292] pcieport 0000:00:1c.5: AER: Uncorrected (Non-Fatal) error received: 0000:09:00.0 [  T292] igb 0000:09:00.0: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Requester ID) [  T292] igb 0000:09:00.0:   device [8086:1537] error status/mask=00004000/00000000 [  T292] igb 0000:09:00.0:    [14] CmpltTO [  200.105524,009][  T292] igb 0000:09:00.0: AER:   TLP Header: 00000000 00000000 00000000 00000000 [  T292] pcieport 0000:00:1c.5: AER: broadcast error_detected message [  T292] igb 0000:09:00.0: Non-correctable non-fatal error reported. [  T292] pcieport 0000:00:1c.5: AER: broadcast mmio_enabled message [  T292] pcieport 0000:00:1c.5: AER: broadcast resume message [  T292] ------------[ cut here ]------------ [  T292] kernel BUG at net/core/dev.c:6539! [  T292] invalid opcode: 0000 [#1] PREEMPT SMP [  T292] RIP: 0010:napi_enable+0x37/0x40 [  T292] Call Trace: [  T292]  <TASK> [  T292]  ? die+0x33/0x90 [  T292]  ? do_trap+0xdc/0x110 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? do_error_trap+0x70/0xb0 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? exc_invalid_op+0x4e/0x70 [  T292]  ? napi_enable+0x37/0x40 [  T292]  ? asm_exc_invalid_op+0x16/0x20 [  T292]  ? napi_enable+0x37/0x40 [  T292]  igb_up+0x41/0x150 [  T292]  igb_io_resume+0x25/0x70 [  T292]  report_resume+0x54/0x70 [  T292]  ? report_frozen_detected+0x20/0x20 [  T292]  pci_walk_bus+0x6c/0x90 [  T292]  ? aer_print_port_info+0xa0/0xa0 [  T292]  pcie_do_recovery+0x22f/0x380 [  T292]  aer_process_err_devices+0x110/0x160 [  T292]  aer_isr+0x1c1/0x1e0 [  T292]  ? disable_irq_nosync+0x10/0x10 [  T292]  irq_thread_fn+0x1a/0x60 [  T292]  irq_thread+0xe3/0x1a0 [  T292]  ? irq_set_affinity_notifier+0x120/0x120 [  T292]  ? irq_affinity_notify+0x100/0x100 [  T292]  kthread+0xe2/0x110 [  T292]  ? kthread_complete_and_exit+0x20/0x20 [  T292]  ret_from_fork+0x2d/0x50 [  T292]  ? kthread_complete_and_exit+0x20/0x20 [  T292]  ret_from_fork_asm+0x11/0x20 [  T292]  </TASK>  To fix this issue igb_io_resume() checks if the interface is running and the device is not down this means igb_io_error_detected() did not bring the device down and there is no need to bring it up.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50044",
                                "url": "https://ubuntu.com/security/CVE-2024-50044",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: RFCOMM: FIX possible deadlock in rfcomm_sk_state_change  rfcomm_sk_state_change attempts to use sock_lock so it must never be called with it locked but rfcomm_sock_ioctl always attempt to lock it causing the following trace:  ====================================================== WARNING: possible circular locking dependency detected 6.8.0-syzkaller-08951-gfe46a7dd189e #0 Not tainted ------------------------------------------------------ syz-executor386/5093 is trying to acquire lock: ffff88807c396258 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1671 [inline] ffff88807c396258 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, at: rfcomm_sk_state_change+0x5b/0x310 net/bluetooth/rfcomm/sock.c:73  but task is already holding lock: ffff88807badfd28 (&d->lock){+.+.}-{3:3}, at: __rfcomm_dlc_close+0x226/0x6a0 net/bluetooth/rfcomm/core.c:491",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50045",
                                "url": "https://ubuntu.com/security/CVE-2024-50045",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: br_netfilter: fix panic with metadata_dst skb  Fix a kernel panic in the br_netfilter module when sending untagged traffic via a VxLAN device. This happens during the check for fragmentation in br_nf_dev_queue_xmit.  It is dependent on: 1) the br_netfilter module being loaded; 2) net.bridge.bridge-nf-call-iptables set to 1; 3) a bridge with a VxLAN (single-vxlan-device) netdevice as a bridge port; 4) untagged frames with size higher than the VxLAN MTU forwarded/flooded  When forwarding the untagged packet to the VxLAN bridge port, before the netfilter hooks are called, br_handle_egress_vlan_tunnel is called and changes the skb_dst to the tunnel dst. The tunnel_dst is a metadata type of dst, i.e., skb_valid_dst(skb) is false, and metadata->dst.dev is NULL.  Then in the br_netfilter hooks, in br_nf_dev_queue_xmit, there's a check for frames that needs to be fragmented: frames with higher MTU than the VxLAN device end up calling br_nf_ip_fragment, which in turns call ip_skb_dst_mtu.  The ip_dst_mtu tries to use the skb_dst(skb) as if it was a valid dst with valid dst->dev, thus the crash.  This case was never supported in the first place, so drop the packet instead.  PING 10.0.0.2 (10.0.0.2) from 0.0.0.0 h1-eth0: 2000(2028) bytes of data. [  176.291791] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000110 [  176.292101] Mem abort info: [  176.292184]   ESR = 0x0000000096000004 [  176.292322]   EC = 0x25: DABT (current EL), IL = 32 bits [  176.292530]   SET = 0, FnV = 0 [  176.292709]   EA = 0, S1PTW = 0 [  176.292862]   FSC = 0x04: level 0 translation fault [  176.293013] Data abort info: [  176.293104]   ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [  176.293488]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [  176.293787]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [  176.293995] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000043ef5000 [  176.294166] [0000000000000110] pgd=0000000000000000, p4d=0000000000000000 [  176.294827] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP [  176.295252] Modules linked in: vxlan ip6_udp_tunnel udp_tunnel veth br_netfilter bridge stp llc ipv6 crct10dif_ce [  176.295923] CPU: 0 PID: 188 Comm: ping Not tainted 6.8.0-rc3-g5b3fbd61b9d1 #2 [  176.296314] Hardware name: linux,dummy-virt (DT) [  176.296535] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [  176.296808] pc : br_nf_dev_queue_xmit+0x390/0x4ec [br_netfilter] [  176.297382] lr : br_nf_dev_queue_xmit+0x2ac/0x4ec [br_netfilter] [  176.297636] sp : ffff800080003630 [  176.297743] x29: ffff800080003630 x28: 0000000000000008 x27: ffff6828c49ad9f8 [  176.298093] x26: ffff6828c49ad000 x25: 0000000000000000 x24: 00000000000003e8 [  176.298430] x23: 0000000000000000 x22: ffff6828c4960b40 x21: ffff6828c3b16d28 [  176.298652] x20: ffff6828c3167048 x19: ffff6828c3b16d00 x18: 0000000000000014 [  176.298926] x17: ffffb0476322f000 x16: ffffb7e164023730 x15: 0000000095744632 [  176.299296] x14: ffff6828c3f1c880 x13: 0000000000000002 x12: ffffb7e137926a70 [  176.299574] x11: 0000000000000001 x10: ffff6828c3f1c898 x9 : 0000000000000000 [  176.300049] x8 : ffff6828c49bf070 x7 : 0008460f18d5f20e x6 : f20e0100bebafeca [  176.300302] x5 : ffff6828c7f918fe x4 : ffff6828c49bf070 x3 : 0000000000000000 [  176.300586] x2 : 0000000000000000 x1 : ffff6828c3c7ad00 x0 : ffff6828c7f918f0 [  176.300889] Call trace: [  176.301123]  br_nf_dev_queue_xmit+0x390/0x4ec [br_netfilter] [  176.301411]  br_nf_post_routing+0x2a8/0x3e4 [br_netfilter] [  176.301703]  nf_hook_slow+0x48/0x124 [  176.302060]  br_forward_finish+0xc8/0xe8 [bridge] [  176.302371]  br_nf_hook_thresh+0x124/0x134 [br_netfilter] [  176.302605]  br_nf_forward_finish+0x118/0x22c [br_netfilter] [  176.302824]  br_nf_forward_ip.part.0+0x264/0x290 [br_netfilter] [  176.303136]  br_nf_forward+0x2b8/0x4e0 [br_netfilter] [  176.303359]  nf_hook_slow+0x48/0x124 [  176.303 ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-38544",
                                "url": "https://ubuntu.com/security/CVE-2024-38544",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt In rxe_comp_queue_pkt() an incoming response packet skb is enqueued to the resp_pkts queue and then a decision is made whether to run the completer task inline or schedule it. Finally the skb is dereferenced to bump a 'hw' performance counter. This is wrong because if the completer task is already running in a separate thread it may have already processed the skb and freed it which can cause a seg fault. This has been observed infrequently in testing at high scale. This patch fixes this by changing the order of enqueuing the packet until after the counter is accessed.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-06-19 14:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50180",
                                "url": "https://ubuntu.com/security/CVE-2024-50180",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fbdev: sisfb: Fix strbuf array overflow  The values of the variables xres and yres are placed in strbuf. These variables are obtained from strbuf1. The strbuf1 array contains digit characters and a space if the array contains non-digit characters. Then, when executing sprintf(strbuf, \"%ux%ux8\", xres, yres); more than 16 bytes will be written to strbuf. It is suggested to increase the size of the strbuf array to 24.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50184",
                                "url": "https://ubuntu.com/security/CVE-2024-50184",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  virtio_pmem: Check device status before requesting flush  If a pmem device is in a bad status, the driver side could wait for host ack forever in virtio_pmem_flush(), causing the system to hang.  So add a status check in the beginning of virtio_pmem_flush() to return early if the device is not activated.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50059",
                                "url": "https://ubuntu.com/security/CVE-2024-50059",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition  In the switchtec_ntb_add function, it can call switchtec_ntb_init_sndev function, then &sndev->check_link_status_work is bound with check_link_status_work. switchtec_ntb_link_notification may be called to start the work.  If we remove the module which will call switchtec_ntb_remove to make cleanup, it will free sndev through kfree(sndev), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                 CPU1                          | check_link_status_work switchtec_ntb_remove    | kfree(sndev);           |                         | if (sndev->link_force_down)                         | // use sndev  Fix it by ensuring that the work is canceled before proceeding with the cleanup in switchtec_ntb_remove.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 20:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50089",
                                "url": "https://ubuntu.com/security/CVE-2024-50089",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-05 17:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49955",
                                "url": "https://ubuntu.com/security/CVE-2024-49955",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPI: battery: Fix possible crash when unregistering a battery hook  When a battery hook returns an error when adding a new battery, then the battery hook is automatically unregistered. However the battery hook provider cannot know that, so it will later call battery_hook_unregister() on the already unregistered battery hook, resulting in a crash.  Fix this by using the list head to mark already unregistered battery hooks as already being unregistered so that they can be ignored by battery_hook_unregister().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49973",
                                "url": "https://ubuntu.com/security/CVE-2024-49973",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  r8169: add tally counter fields added with RTL8125  RTL8125 added fields to the tally counter, what may result in the chip dma'ing these new fields to unallocated memory. Therefore make sure that the allocated memory area is big enough to hold all of the tally counter values, even if we use only parts of it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49975",
                                "url": "https://ubuntu.com/security/CVE-2024-49975",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  uprobes: fix kernel info leak via \"[uprobes]\" vma  xol_add_vma() maps the uninitialized page allocated by __create_xol_area() into userspace. On some architectures (x86) this memory is readable even without VM_READ, VM_EXEC results in the same pgprot_t as VM_EXEC|VM_READ, although this doesn't really matter, debugger can read this memory anyway.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49867",
                                "url": "https://ubuntu.com/security/CVE-2024-49867",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: wait for fixup workers before stopping cleaner kthread during umount  During unmount, at close_ctree(), we have the following steps in this order:  1) Park the cleaner kthread - this doesn't destroy the kthread, it basically    halts its execution (wake ups against it work but do nothing);  2) We stop the cleaner kthread - this results in freeing the respective    struct task_struct;  3) We call btrfs_stop_all_workers() which waits for any jobs running in all    the work queues and then free the work queues.  Syzbot reported a case where a fixup worker resulted in a crash when doing a delayed iput on its inode while attempting to wake up the cleaner at btrfs_add_delayed_iput(), because the task_struct of the cleaner kthread was already freed. This can happen during unmount because we don't wait for any fixup workers still running before we call kthread_stop() against the cleaner kthread, which stops and free all its resources.  Fix this by waiting for any fixup workers at close_ctree() before we call kthread_stop() against the cleaner and run pending delayed iputs.  The stack traces reported by syzbot were the following:    BUG: KASAN: slab-use-after-free in __lock_acquire+0x77/0x2050 kernel/locking/lockdep.c:5065   Read of size 8 at addr ffff8880272a8a18 by task kworker/u8:3/52    CPU: 1 UID: 0 PID: 52 Comm: kworker/u8:3 Not tainted 6.12.0-rc1-syzkaller #0   Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024   Workqueue: btrfs-fixup btrfs_work_helper   Call Trace:    <TASK>    __dump_stack lib/dump_stack.c:94 [inline]    dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120    print_address_description mm/kasan/report.c:377 [inline]    print_report+0x169/0x550 mm/kasan/report.c:488    kasan_report+0x143/0x180 mm/kasan/report.c:601    __lock_acquire+0x77/0x2050 kernel/locking/lockdep.c:5065    lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5825    __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]    _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162    class_raw_spinlock_irqsave_constructor include/linux/spinlock.h:551 [inline]    try_to_wake_up+0xb0/0x1480 kernel/sched/core.c:4154    btrfs_writepage_fixup_worker+0xc16/0xdf0 fs/btrfs/inode.c:2842    btrfs_work_helper+0x390/0xc50 fs/btrfs/async-thread.c:314    process_one_work kernel/workqueue.c:3229 [inline]    process_scheduled_works+0xa63/0x1850 kernel/workqueue.c:3310    worker_thread+0x870/0xd30 kernel/workqueue.c:3391    kthread+0x2f0/0x390 kernel/kthread.c:389    ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147    ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244    </TASK>    Allocated by task 2:    kasan_save_stack mm/kasan/common.c:47 [inline]    kasan_save_track+0x3f/0x80 mm/kasan/common.c:68    unpoison_slab_object mm/kasan/common.c:319 [inline]    __kasan_slab_alloc+0x66/0x80 mm/kasan/common.c:345    kasan_slab_alloc include/linux/kasan.h:247 [inline]    slab_post_alloc_hook mm/slub.c:4086 [inline]    slab_alloc_node mm/slub.c:4135 [inline]    kmem_cache_alloc_node_noprof+0x16b/0x320 mm/slub.c:4187    alloc_task_struct_node kernel/fork.c:180 [inline]    dup_task_struct+0x57/0x8c0 kernel/fork.c:1107    copy_process+0x5d1/0x3d50 kernel/fork.c:2206    kernel_clone+0x223/0x880 kernel/fork.c:2787    kernel_thread+0x1bc/0x240 kernel/fork.c:2849    create_kthread kernel/kthread.c:412 [inline]    kthreadd+0x60d/0x810 kernel/kthread.c:765    ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147    ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244    Freed by task 61:    kasan_save_stack mm/kasan/common.c:47 [inline]    kasan_save_track+0x3f/0x80 mm/kasan/common.c:68    kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579    poison_slab_object mm/kasan/common.c:247 [inline]    __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264    kasan_slab_free include/linux/kasan.h:230 [inline]    slab_free_h ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49868",
                                "url": "https://ubuntu.com/security/CVE-2024-49868",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: fix a NULL pointer dereference when failed to start a new trasacntion  [BUG] Syzbot reported a NULL pointer dereference with the following crash:    FAULT_INJECTION: forcing a failure.    start_transaction+0x830/0x1670 fs/btrfs/transaction.c:676    prepare_to_relocate+0x31f/0x4c0 fs/btrfs/relocation.c:3642    relocate_block_group+0x169/0xd20 fs/btrfs/relocation.c:3678   ...   BTRFS info (device loop0): balance: ended with status: -12   Oops: general protection fault, probably for non-canonical address 0xdffffc00000000cc: 0000 [#1] PREEMPT SMP KASAN NOPTI   KASAN: null-ptr-deref in range [0x0000000000000660-0x0000000000000667]   RIP: 0010:btrfs_update_reloc_root+0x362/0xa80 fs/btrfs/relocation.c:926   Call Trace:    <TASK>    commit_fs_roots+0x2ee/0x720 fs/btrfs/transaction.c:1496    btrfs_commit_transaction+0xfaf/0x3740 fs/btrfs/transaction.c:2430    del_balance_item fs/btrfs/volumes.c:3678 [inline]    reset_balance_state+0x25e/0x3c0 fs/btrfs/volumes.c:3742    btrfs_balance+0xead/0x10c0 fs/btrfs/volumes.c:4574    btrfs_ioctl_balance+0x493/0x7c0 fs/btrfs/ioctl.c:3673    vfs_ioctl fs/ioctl.c:51 [inline]    __do_sys_ioctl fs/ioctl.c:907 [inline]    __se_sys_ioctl+0xf9/0x170 fs/ioctl.c:893    do_syscall_x64 arch/x86/entry/common.c:52 [inline]    do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83    entry_SYSCALL_64_after_hwframe+0x77/0x7f  [CAUSE] The allocation failure happens at the start_transaction() inside prepare_to_relocate(), and during the error handling we call unset_reloc_control(), which makes fs_info->balance_ctl to be NULL.  Then we continue the error path cleanup in btrfs_balance() by calling reset_balance_state() which will call del_balance_item() to fully delete the balance item in the root tree.  However during the small window between set_reloc_contrl() and unset_reloc_control(), we can have a subvolume tree update and created a reloc_root for that subvolume.  Then we go into the final btrfs_commit_transaction() of del_balance_item(), and into btrfs_update_reloc_root() inside commit_fs_roots().  That function checks if fs_info->reloc_ctl is in the merge_reloc_tree stage, but since fs_info->reloc_ctl is NULL, it results a NULL pointer dereference.  [FIX] Just add extra check on fs_info->reloc_ctl inside btrfs_update_reloc_root(), before checking fs_info->reloc_ctl->merge_reloc_tree.  That DEAD_RELOC_TREE handling is to prevent further modification to the reloc tree during merge stage, but since there is no reloc_ctl at all, we do not need to bother that.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49981",
                                "url": "https://ubuntu.com/security/CVE-2024-49981",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: venus: fix use after free bug in venus_remove due to race condition  in venus_probe, core->work is bound with venus_sys_error_handler, which is used to handle error. The code use core->sys_err_done to make sync work. The core->work is started in venus_event_notify.  If we call venus_remove, there might be an unfished work. The possible sequence is as follows:  CPU0                  CPU1                       |venus_sys_error_handler venus_remove         | hfi_destroy\t \t\t | venus_hfi_destroy\t | kfree(hdev);\t     |                      |hfi_reinit \t\t\t\t\t |venus_hfi_queues_reinit                      |//use hdev  Fix it by canceling the work in venus_remove.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49982",
                                "url": "https://ubuntu.com/security/CVE-2024-49982",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  aoe: fix the potential use-after-free problem in more places  For fixing CVE-2023-6270, f98364e92662 (\"aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts\") makes tx() calling dev_put() instead of doing in aoecmd_cfg_pkts(). It avoids that the tx() runs into use-after-free.  Then Nicolai Stange found more places in aoe have potential use-after-free problem with tx(). e.g. revalidate(), aoecmd_ata_rw(), resend(), probe() and aoecmd_cfg_rsp(). Those functions also use aoenet_xmit() to push packet to tx queue. So they should also use dev_hold() to increase the refcnt of skb->dev.  On the other hand, moving dev_put() to tx() causes that the refcnt of skb->dev be reduced to a negative value, because corresponding dev_hold() are not called in revalidate(), aoecmd_ata_rw(), resend(), probe(), and aoecmd_cfg_rsp(). This patch fixed this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49877",
                                "url": "https://ubuntu.com/security/CVE-2024-49877",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate  When doing cleanup, if flags without OCFS2_BH_READAHEAD, it may trigger NULL pointer dereference in the following ocfs2_set_buffer_uptodate() if bh is NULL.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49957",
                                "url": "https://ubuntu.com/security/CVE-2024-49957",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix null-ptr-deref when journal load failed.  During the mounting process, if journal_reset() fails because of too short journal, then lead to jbd2_journal_load() fails with NULL j_sb_buffer. Subsequently, ocfs2_journal_shutdown() calls jbd2_journal_flush()->jbd2_cleanup_journal_tail()-> __jbd2_update_log_tail()->jbd2_journal_update_sb_log_tail() ->lock_buffer(journal->j_sb_buffer), resulting in a null-pointer dereference error.  To resolve this issue, we should check the JBD2_LOADED flag to ensure the journal was properly loaded.  Additionally, use journal instead of osb->journal directly to simplify the code.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49965",
                                "url": "https://ubuntu.com/security/CVE-2024-49965",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: remove unreasonable unlock in ocfs2_read_blocks  Patch series \"Misc fixes for ocfs2_read_blocks\", v5.  This series contains 2 fixes for ocfs2_read_blocks().  The first patch fix the issue reported by syzbot, which detects bad unlock balance in ocfs2_read_blocks().  The second patch fixes an issue reported by Heming Zhao when reviewing above fix.   This patch (of 2):  There was a lock release before exiting, so remove the unreasonable unlock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49966",
                                "url": "https://ubuntu.com/security/CVE-2024-49966",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: cancel dqi_sync_work before freeing oinfo  ocfs2_global_read_info() will initialize and schedule dqi_sync_work at the end, if error occurs after successfully reading global quota, it will trigger the following warning with CONFIG_DEBUG_OBJECTS_* enabled:  ODEBUG: free active (active state 0) object: 00000000d8b0ce28 object type: timer_list hint: qsync_work_fn+0x0/0x16c  This reports that there is an active delayed work when freeing oinfo in error handling, so cancel dqi_sync_work first.  BTW, return status instead of -1 when .read_file_info fails.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49958",
                                "url": "https://ubuntu.com/security/CVE-2024-49958",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: reserve space for inline xattr before attaching reflink tree  One of our customers reported a crash and a corrupted ocfs2 filesystem. The crash was due to the detection of corruption.  Upon troubleshooting, the fsck -fn output showed the below corruption  [EXTENT_LIST_FREE] Extent list in owner 33080590 claims 230 as the next free chain record, but fsck believes the largest valid value is 227.  Clamp the next record value? n  The stat output from the debugfs.ocfs2 showed the following corruption where the \"Next Free Rec:\" had overshot the \"Count:\" in the root metadata block.          Inode: 33080590   Mode: 0640   Generation: 2619713622 (0x9c25a856)         FS Generation: 904309833 (0x35e6ac49)         CRC32: 00000000   ECC: 0000         Type: Regular   Attr: 0x0   Flags: Valid         Dynamic Features: (0x16) HasXattr InlineXattr Refcounted         Extended Attributes Block: 0  Extended Attributes Inline Size: 256         User: 0 (root)   Group: 0 (root)   Size: 281320357888         Links: 1   Clusters: 141738         ctime: 0x66911b56 0x316edcb8 -- Fri Jul 12 06:02:30.829349048 2024         atime: 0x66911d6b 0x7f7a28d -- Fri Jul 12 06:11:23.133669517 2024         mtime: 0x66911b56 0x12ed75d7 -- Fri Jul 12 06:02:30.317552087 2024         dtime: 0x0 -- Wed Dec 31 17:00:00 1969         Refcount Block: 2777346         Last Extblk: 2886943   Orphan Slot: 0         Sub Alloc Slot: 0   Sub Alloc Bit: 14         Tree Depth: 1   Count: 227   Next Free Rec: 230         ## Offset        Clusters       Block#         0  0             2310           2776351         1  2310          2139           2777375         2  4449          1221           2778399         3  5670          731            2779423         4  6401          566            2780447         .......          ....           .......         .......          ....           .......  The issue was in the reflink workfow while reserving space for inline xattr.  The problematic function is ocfs2_reflink_xattr_inline().  By the time this function is called the reflink tree is already recreated at the destination inode from the source inode.  At this point, this function reserves space for inline xattrs at the destination inode without even checking if there is space at the root metadata block.  It simply reduces the l_count from 243 to 227 thereby making space of 256 bytes for inline xattr whereas the inode already has extents beyond this index (in this case up to 230), thereby causing corruption.  The fix for this is to reserve space for inline metadata at the destination inode before the reflink tree gets recreated. The customer has verified the fix.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49959",
                                "url": "https://ubuntu.com/security/CVE-2024-49959",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error  In __jbd2_log_wait_for_space(), we might call jbd2_cleanup_journal_tail() to recover some journal space. But if an error occurs while executing jbd2_cleanup_journal_tail() (e.g., an EIO), we don't stop waiting for free space right away, we try other branches, and if j_committing_transaction is NULL (i.e., the tid is 0), we will get the following complain:  ============================================ JBD2: I/O error when updating journal superblock for sdd-8. __jbd2_log_wait_for_space: needed 256 blocks and only had 217 space available __jbd2_log_wait_for_space: no way to get more journal space in sdd-8 ------------[ cut here ]------------ WARNING: CPU: 2 PID: 139804 at fs/jbd2/checkpoint.c:109 __jbd2_log_wait_for_space+0x251/0x2e0 Modules linked in: CPU: 2 PID: 139804 Comm: kworker/u8:3 Not tainted 6.6.0+ #1 RIP: 0010:__jbd2_log_wait_for_space+0x251/0x2e0 Call Trace:  <TASK>  add_transaction_credits+0x5d1/0x5e0  start_this_handle+0x1ef/0x6a0  jbd2__journal_start+0x18b/0x340  ext4_dirty_inode+0x5d/0xb0  __mark_inode_dirty+0xe4/0x5d0  generic_update_time+0x60/0x70 [...] ============================================  So only if jbd2_cleanup_journal_tail() returns 1, i.e., there is nothing to clean up at the moment, continue to try to reclaim free space in other ways.  Note that this fix relies on commit 6f6a6fda2945 (\"jbd2: fix ocfs2 corrupt when updating journal superblock fails\") to make jbd2_cleanup_journal_tail return the correct error code.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49879",
                                "url": "https://ubuntu.com/security/CVE-2024-49879",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm: omapdrm: Add missing check for alloc_ordered_workqueue  As it may return NULL pointer and cause NULL pointer dereference. Add check for the return value of alloc_ordered_workqueue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49882",
                                "url": "https://ubuntu.com/security/CVE-2024-49882",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix double brelse() the buffer of the extents path  In ext4_ext_try_to_merge_up(), set path[1].p_bh to NULL after it has been released, otherwise it may be released twice. An example of what triggers this is as follows:    split2    map    split1 |--------|-------|--------|  ext4_ext_map_blocks  ext4_ext_handle_unwritten_extents   ext4_split_convert_extents    // path->p_depth == 0    ext4_split_extent      // 1. do split1      ext4_split_extent_at        |ext4_ext_insert_extent        |  ext4_ext_create_new_leaf        |    ext4_ext_grow_indepth        |      le16_add_cpu(&neh->eh_depth, 1)        |    ext4_find_extent        |      // return -ENOMEM        |// get error and try zeroout        |path = ext4_find_extent        |  path->p_depth = 1        |ext4_ext_try_to_merge        |  ext4_ext_try_to_merge_up        |    path->p_depth = 0        |    brelse(path[1].p_bh)  ---> not set to NULL here        |// zeroout success      // 2. update path      ext4_find_extent      // 3. do split2      ext4_split_extent_at        ext4_ext_insert_extent          ext4_ext_create_new_leaf            ext4_ext_grow_indepth              le16_add_cpu(&neh->eh_depth, 1)            ext4_find_extent              path[0].p_bh = NULL;              path->p_depth = 1              read_extent_tree_block  ---> return err              // path[1].p_bh is still the old value              ext4_free_ext_path                ext4_ext_drop_refs                  // path->p_depth == 1                  brelse(path[1].p_bh)  ---> brelse a buffer twice  Finally got the following WARRNING when removing the buffer from lru:  ============================================ VFS: brelse: Trying to free free buffer WARNING: CPU: 2 PID: 72 at fs/buffer.c:1241 __brelse+0x58/0x90 CPU: 2 PID: 72 Comm: kworker/u19:1 Not tainted 6.9.0-dirty #716 RIP: 0010:__brelse+0x58/0x90 Call Trace:  <TASK>  __find_get_block+0x6e7/0x810  bdev_getblk+0x2b/0x480  __ext4_get_inode_loc+0x48a/0x1240  ext4_get_inode_loc+0xb2/0x150  ext4_reserve_inode_write+0xb7/0x230  __ext4_mark_inode_dirty+0x144/0x6a0  ext4_ext_insert_extent+0x9c8/0x3230  ext4_ext_map_blocks+0xf45/0x2dc0  ext4_map_blocks+0x724/0x1700  ext4_do_writepages+0x12d6/0x2a70 [...] ============================================",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49883",
                                "url": "https://ubuntu.com/security/CVE-2024-49883",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: aovid use-after-free in ext4_ext_insert_extent()  As Ojaswin mentioned in Link, in ext4_ext_insert_extent(), if the path is reallocated in ext4_ext_create_new_leaf(), we'll use the stale path and cause UAF. Below is a sample trace with dummy values:  ext4_ext_insert_extent   path = *ppath = 2000   ext4_ext_create_new_leaf(ppath)     ext4_find_extent(ppath)       path = *ppath = 2000       if (depth > path[0].p_maxdepth)             kfree(path = 2000);             *ppath = path = NULL;       path = kcalloc() = 3000       *ppath = 3000;       return path;   /* here path is still 2000, UAF! */   eh = path[depth].p_hdr  ================================================================== BUG: KASAN: slab-use-after-free in ext4_ext_insert_extent+0x26d4/0x3330 Read of size 8 at addr ffff8881027bf7d0 by task kworker/u36:1/179 CPU: 3 UID: 0 PID: 179 Comm: kworker/u6:1 Not tainted 6.11.0-rc2-dirty #866 Call Trace:  <TASK>  ext4_ext_insert_extent+0x26d4/0x3330  ext4_ext_map_blocks+0xe22/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800 [...]  Allocated by task 179:  ext4_find_extent+0x81c/0x1f70  ext4_ext_map_blocks+0x146/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800  ext4_writepages+0x26d/0x4e0  do_writepages+0x175/0x700 [...]  Freed by task 179:  kfree+0xcb/0x240  ext4_find_extent+0x7c0/0x1f70  ext4_ext_insert_extent+0xa26/0x3330  ext4_ext_map_blocks+0xe22/0x2d40  ext4_map_blocks+0x71e/0x1700  ext4_do_writepages+0x1290/0x2800  ext4_writepages+0x26d/0x4e0  do_writepages+0x175/0x700 [...] ==================================================================  So use *ppath to update the path to avoid the above problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49985",
                                "url": "https://ubuntu.com/security/CVE-2024-49985",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume  In case there is any sort of clock controller attached to this I2C bus controller, for example Versaclock or even an AIC32x4 I2C codec, then an I2C transfer triggered from the clock controller clk_ops .prepare callback may trigger a deadlock on drivers/clk/clk.c prepare_lock mutex.  This is because the clock controller first grabs the prepare_lock mutex and then performs the prepare operation, including its I2C access. The I2C access resumes this I2C bus controller via .runtime_resume callback, which calls clk_prepare_enable(), which attempts to grab the prepare_lock mutex again and deadlocks.  Since the clock are already prepared since probe() and unprepared in remove(), use simple clk_enable()/clk_disable() calls to enable and disable the clock on runtime suspend and resume, to avoid hitting the prepare_lock mutex.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50006",
                                "url": "https://ubuntu.com/security/CVE-2024-50006",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix i_data_sem unlock order in ext4_ind_migrate()  Fuzzing reports a possible deadlock in jbd2_log_wait_commit.  This issue is triggered when an EXT4_IOC_MIGRATE ioctl is set to require synchronous updates because the file descriptor is opened with O_SYNC. This can lead to the jbd2_journal_stop() function calling jbd2_might_wait_for_commit(), potentially causing a deadlock if the EXT4_IOC_MIGRATE call races with a write(2) system call.  This problem only arises when CONFIG_PROVE_LOCKING is enabled. In this case, the jbd2_might_wait_for_commit macro locks jbd2_handle in the jbd2_journal_stop function while i_data_sem is locked. This triggers lockdep because the jbd2_journal_start function might also lock the same jbd2_handle simultaneously.  Found by Linux Verification Center (linuxtesting.org) with syzkaller.  Rule: add",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 19:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49892",
                                "url": "https://ubuntu.com/security/CVE-2024-49892",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Initialize get_bytes_per_element's default to 1  Variables, used as denominators and maybe not assigned to other values, should not be 0. bytes_per_element_y & bytes_per_element_c are initialized by get_bytes_per_element() which should never return 0.  This fixes 10 DIVIDE_BY_ZERO issues reported by Coverity.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49894",
                                "url": "https://ubuntu.com/security/CVE-2024-49894",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Fix index out of bounds in degamma hardware format translation  Fixes index out of bounds issue in `cm_helper_translate_curve_to_degamma_hw_format` function. The issue could occur when the index 'i' exceeds the number of transfer function points (TRANSFER_FUNC_POINTS).  The fix adds a check to ensure 'i' is within bounds before accessing the transfer function points. If 'i' is out of bounds the function returns false to indicate an error.  Reported by smatch: drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:594 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.red' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:595 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.green' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:596 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.blue' 1025 <= s32max",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49896",
                                "url": "https://ubuntu.com/security/CVE-2024-49896",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amd/display: Check stream before comparing them  [WHAT & HOW] amdgpu_dm can pass a null stream to dc_is_stream_unchanged. It is necessary to check for null before dereferencing them.  This fixes 1 FORWARD_NULL issue reported by Coverity.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49900",
                                "url": "https://ubuntu.com/security/CVE-2024-49900",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: Fix uninit-value access of new_ea in ea_buffer  syzbot reports that lzo1x_1_do_compress is using uninit-value:  ===================================================== BUG: KMSAN: uninit-value in lzo1x_1_do_compress+0x19f9/0x2510 lib/lzo/lzo1x_compress.c:178  ...  Uninit was stored to memory at:  ea_put fs/jfs/xattr.c:639 [inline]  ...  Local variable ea_buf created at:  __jfs_setxattr+0x5d/0x1ae0 fs/jfs/xattr.c:662  __jfs_xattr_set+0xe6/0x1f0 fs/jfs/xattr.c:934  =====================================================  The reason is ea_buf->new_ea is not initialized properly.  Fix this by using memset to empty its content at the beginning in ea_get().",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49902",
                                "url": "https://ubuntu.com/security/CVE-2024-49902",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: check if leafidx greater than num leaves per dmap tree  syzbot report a out of bounds in dbSplit, it because dmt_leafidx greater than num leaves per dmap tree, add a checking for dmt_leafidx in dbFindLeaf.  Shaggy: Modified sanity check to apply to control pages as well as leaf pages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49903",
                                "url": "https://ubuntu.com/security/CVE-2024-49903",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: Fix uaf in dbFreeBits  [syzbot reported] ================================================================== BUG: KASAN: slab-use-after-free in __mutex_lock_common kernel/locking/mutex.c:587 [inline] BUG: KASAN: slab-use-after-free in __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752 Read of size 8 at addr ffff8880229254b0 by task syz-executor357/5216  CPU: 0 UID: 0 PID: 5216 Comm: syz-executor357 Not tainted 6.11.0-rc3-syzkaller-00156-gd7a5aa4b3c00 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024 Call Trace:  <TASK>  __dump_stack lib/dump_stack.c:93 [inline]  dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119  print_address_description mm/kasan/report.c:377 [inline]  print_report+0x169/0x550 mm/kasan/report.c:488  kasan_report+0x143/0x180 mm/kasan/report.c:601  __mutex_lock_common kernel/locking/mutex.c:587 [inline]  __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752  dbFreeBits+0x7ea/0xd90 fs/jfs/jfs_dmap.c:2390  dbFreeDmap fs/jfs/jfs_dmap.c:2089 [inline]  dbFree+0x35b/0x680 fs/jfs/jfs_dmap.c:409  dbDiscardAG+0x8a9/0xa20 fs/jfs/jfs_dmap.c:1650  jfs_ioc_trim+0x433/0x670 fs/jfs/jfs_discard.c:100  jfs_ioctl+0x2d0/0x3e0 fs/jfs/ioctl.c:131  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:907 [inline]  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:893  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  Freed by task 5218:  kasan_save_stack mm/kasan/common.c:47 [inline]  kasan_save_track+0x3f/0x80 mm/kasan/common.c:68  kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579  poison_slab_object+0xe0/0x150 mm/kasan/common.c:240  __kasan_slab_free+0x37/0x60 mm/kasan/common.c:256  kasan_slab_free include/linux/kasan.h:184 [inline]  slab_free_hook mm/slub.c:2252 [inline]  slab_free mm/slub.c:4473 [inline]  kfree+0x149/0x360 mm/slub.c:4594  dbUnmount+0x11d/0x190 fs/jfs/jfs_dmap.c:278  jfs_mount_rw+0x4ac/0x6a0 fs/jfs/jfs_mount.c:247  jfs_remount+0x3d1/0x6b0 fs/jfs/super.c:454  reconfigure_super+0x445/0x880 fs/super.c:1083  vfs_cmd_reconfigure fs/fsopen.c:263 [inline]  vfs_fsconfig_locked fs/fsopen.c:292 [inline]  __do_sys_fsconfig fs/fsopen.c:473 [inline]  __se_sys_fsconfig+0xb6e/0xf80 fs/fsopen.c:345  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  [Analysis] There are two paths (dbUnmount and jfs_ioc_trim) that generate race condition when accessing bmap, which leads to the occurrence of uaf.  Use the lock s_umount to synchronize them, in order to avoid uaf caused by race condition.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49924",
                                "url": "https://ubuntu.com/security/CVE-2024-49924",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fbdev: pxafb: Fix possible use after free in pxafb_task()  In the pxafb_probe function, it calls the pxafb_init_fbinfo function, after which &fbi->task is associated with pxafb_task. Moreover, within this pxafb_init_fbinfo function, the pxafb_blank function within the &pxafb_ops struct is capable of scheduling work.  If we remove the module which will call pxafb_remove to make cleanup, it will call unregister_framebuffer function which can call do_unregister_framebuffer to free fbi->fb through put_fb_info(fb_info), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                                CPU1                                     | pxafb_task pxafb_remove                       | unregister_framebuffer(info)       | do_unregister_framebuffer(fb_info) | put_fb_info(fb_info)               | // free fbi->fb                    | set_ctrlr_state(fbi, state)                                    | __pxafb_lcd_power(fbi, 0)                                    | fbi->lcd_power(on, &fbi->fb.var)                                    | //use fbi->fb  Fix it by ensuring that the work is canceled before proceeding with the cleanup in pxafb_remove.  Note that only root user can remove the driver at runtime.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50007",
                                "url": "https://ubuntu.com/security/CVE-2024-50007",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: asihpi: Fix potential OOB array access  ASIHPI driver stores some values in the static array upon a response from the driver, and its index depends on the firmware.  We shouldn't trust it blindly.  This patch adds a sanity check of the array index to fit in the array size.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 19:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50008",
                                "url": "https://ubuntu.com/security/CVE-2024-50008",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext()  Replace one-element array with a flexible-array member in `struct host_cmd_ds_802_11_scan_ext`.  With this, fix the following warning:  elo 16 17:51:58 surfacebook kernel: ------------[ cut here ]------------ elo 16 17:51:58 surfacebook kernel: memcpy: detected field-spanning write (size 243) of single field \"ext_scan->tlv_buffer\" at drivers/net/wireless/marvell/mwifiex/scan.c:2239 (size 1) elo 16 17:51:58 surfacebook kernel: WARNING: CPU: 0 PID: 498 at drivers/net/wireless/marvell/mwifiex/scan.c:2239 mwifiex_cmd_802_11_scan_ext+0x83/0x90 [mwifiex]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 19:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49995",
                                "url": "https://ubuntu.com/security/CVE-2024-49995",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tipc: guard against string buffer overrun  Smatch reports that copying media_name and if_name to name_parts may overwrite the destination.   .../bearer.c:166 bearer_name_validate() error: strcpy() 'media_name' too large for 'name_parts->media_name' (32 vs 16)  .../bearer.c:167 bearer_name_validate() error: strcpy() 'if_name' too large for 'name_parts->if_name' (1010102 vs 16)  This does seem to be the case so guard against this possibility by using strscpy() and failing if truncation occurs.  Introduced by commit b97bf3fd8f6a (\"[TIPC] Initial merge\")  Compile tested only.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49962",
                                "url": "https://ubuntu.com/security/CVE-2024-49962",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package()  ACPICA commit 4d4547cf13cca820ff7e0f859ba83e1a610b9fd0  ACPI_ALLOCATE_ZEROED() may fail, elements might be NULL and will cause NULL pointer dereference later.  [ rjw: Subject and changelog edits ]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49938",
                                "url": "https://ubuntu.com/security/CVE-2024-49938",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit  Syzbot points out that skb_trim() has a sanity check on the existing length of the skb, which can be uninitialised in some error paths. The intent here is clearly just to reset the length to zero before resubmitting, so switch to calling __skb_set_length(skb, 0) directly. In addition, __skb_set_length() already contains a call to skb_reset_tail_pointer(), so remove the redundant call.  The syzbot report came from ath9k_hif_usb_reg_in_cb(), but there's a similar usage of skb_trim() in ath9k_hif_usb_rx_cb(), change both while we're at it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47740",
                                "url": "https://ubuntu.com/security/CVE-2024-47740",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: Require FMODE_WRITE for atomic write ioctls  The F2FS ioctls for starting and committing atomic writes check for inode_owner_or_capable(), but this does not give LSMs like SELinux or Landlock an opportunity to deny the write access - if the caller's FSUID matches the inode's UID, inode_owner_or_capable() immediately returns true.  There are scenarios where LSMs want to deny a process the ability to write particular files, even files that the FSUID of the process owns; but this can currently partially be bypassed using atomic write ioctls in two ways:   - F2FS_IOC_START_ATOMIC_REPLACE + F2FS_IOC_COMMIT_ATOMIC_WRITE can    truncate an inode to size 0  - F2FS_IOC_START_ATOMIC_WRITE + F2FS_IOC_ABORT_ATOMIC_WRITE can revert    changes another process concurrently made to a file  Fix it by requiring FMODE_WRITE for these operations, just like for F2FS_IOC_MOVE_RANGE. Since any legitimate caller should only be using these ioctls when intending to write into the file, that seems unlikely to break anything.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49944",
                                "url": "https://ubuntu.com/security/CVE-2024-49944",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start  In sctp_listen_start() invoked by sctp_inet_listen(), it should set the sk_state back to CLOSED if sctp_autobind() fails due to whatever reason.  Otherwise, next time when calling sctp_inet_listen(), if sctp_sk(sk)->reuse is already set via setsockopt(SCTP_REUSE_PORT), sctp_sk(sk)->bind_hash will be dereferenced as sk_state is LISTENING, which causes a crash as bind_hash is NULL.    KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]   RIP: 0010:sctp_inet_listen+0x7f0/0xa20 net/sctp/socket.c:8617   Call Trace:    <TASK>    __sys_listen_socket net/socket.c:1883 [inline]    __sys_listen+0x1b7/0x230 net/socket.c:1894    __do_sys_listen net/socket.c:1902 [inline]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49948",
                                "url": "https://ubuntu.com/security/CVE-2024-49948",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: add more sanity checks to qdisc_pkt_len_init()  One path takes care of SKB_GSO_DODGY, assuming skb->len is bigger than hdr_len.  virtio_net_hdr_to_skb() does not fully dissect TCP headers, it only make sure it is at least 20 bytes.  It is possible for an user to provide a malicious 'GSO' packet, total length of 80 bytes.  - 20 bytes of IPv4 header - 60 bytes TCP header - a small gso_size like 8  virtio_net_hdr_to_skb() would declare this packet as a normal GSO packet, because it would see 40 bytes of payload, bigger than gso_size.  We need to make detect this case to not underflow qdisc_skb_cb(skb)->pkt_len.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49949",
                                "url": "https://ubuntu.com/security/CVE-2024-49949",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: avoid potential underflow in qdisc_pkt_len_init() with UFO  After commit 7c6d2ecbda83 (\"net: be more gentle about silly gso requests coming from user\") virtio_net_hdr_to_skb() had sanity check to detect malicious attempts from user space to cook a bad GSO packet.  Then commit cf9acc90c80ec (\"net: virtio_net_hdr_to_skb: count transport header in UFO\") while fixing one issue, allowed user space to cook a GSO packet with the following characteristic :  IPv4 SKB_GSO_UDP, gso_size=3, skb->len = 28.  When this packet arrives in qdisc_pkt_len_init(), we end up with hdr_len = 28 (IPv4 header + UDP header), matching skb->len  Then the following sets gso_segs to 0 :  gso_segs = DIV_ROUND_UP(skb->len - hdr_len,                         shinfo->gso_size);  Then later we set qdisc_skb_cb(skb)->pkt_len to back to zero :/  qdisc_skb_cb(skb)->pkt_len += (gso_segs - 1) * hdr_len;  This leads to the following crash in fq_codel [1]  qdisc_pkt_len_init() is best effort, we only want an estimation of the bytes sent on the wire, not crashing the kernel.  This patch is fixing this particular issue, a following one adds more sanity checks for another potential bug.  [1] [   70.724101] BUG: kernel NULL pointer dereference, address: 0000000000000000 [   70.724561] #PF: supervisor read access in kernel mode [   70.724561] #PF: error_code(0x0000) - not-present page [   70.724561] PGD 10ac61067 P4D 10ac61067 PUD 107ee2067 PMD 0 [   70.724561] Oops: Oops: 0000 [#1] SMP NOPTI [   70.724561] CPU: 11 UID: 0 PID: 2163 Comm: b358537762 Not tainted 6.11.0-virtme #991 [   70.724561] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [   70.724561] RIP: 0010:fq_codel_enqueue (net/sched/sch_fq_codel.c:120 net/sched/sch_fq_codel.c:168 net/sched/sch_fq_codel.c:230) sch_fq_codel [ 70.724561] Code: 24 08 49 c1 e1 06 44 89 7c 24 18 45 31 ed 45 31 c0 31 ff 89 44 24 14 4c 03 8b 90 01 00 00 eb 04 39 ca 73 37 4d 8b 39 83 c7 01 <49> 8b 17 49 89 11 41 8b 57 28 45 8b 5f 34 49 c7 07 00 00 00 00 49 All code ========    0:\t24 08                \tand    $0x8,%al    2:\t49 c1 e1 06          \tshl    $0x6,%r9    6:\t44 89 7c 24 18       \tmov    %r15d,0x18(%rsp)    b:\t45 31 ed             \txor    %r13d,%r13d    e:\t45 31 c0             \txor    %r8d,%r8d   11:\t31 ff                \txor    %edi,%edi   13:\t89 44 24 14          \tmov    %eax,0x14(%rsp)   17:\t4c 03 8b 90 01 00 00 \tadd    0x190(%rbx),%r9   1e:\teb 04                \tjmp    0x24   20:\t39 ca                \tcmp    %ecx,%edx   22:\t73 37                \tjae    0x5b   24:\t4d 8b 39             \tmov    (%r9),%r15   27:\t83 c7 01             \tadd    $0x1,%edi   2a:*\t49 8b 17             \tmov    (%r15),%rdx\t\t<-- trapping instruction   2d:\t49 89 11             \tmov    %rdx,(%r9)   30:\t41 8b 57 28          \tmov    0x28(%r15),%edx   34:\t45 8b 5f 34          \tmov    0x34(%r15),%r11d   38:\t49 c7 07 00 00 00 00 \tmovq   $0x0,(%r15)   3f:\t49                   \trex.WB  Code starting with the faulting instruction ===========================================    0:\t49 8b 17             \tmov    (%r15),%rdx    3:\t49 89 11             \tmov    %rdx,(%r9)    6:\t41 8b 57 28          \tmov    0x28(%r15),%edx    a:\t45 8b 5f 34          \tmov    0x34(%r15),%r11d    e:\t49 c7 07 00 00 00 00 \tmovq   $0x0,(%r15)   15:\t49                   \trex.WB [   70.724561] RSP: 0018:ffff95ae85e6fb90 EFLAGS: 00000202 [   70.724561] RAX: 0000000002000000 RBX: ffff95ae841de000 RCX: 0000000000000000 [   70.724561] RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000001 [   70.724561] RBP: ffff95ae85e6fbf8 R08: 0000000000000000 R09: ffff95b710a30000 [   70.724561] R10: 0000000000000000 R11: bdf289445ce31881 R12: ffff95ae85e6fc58 [   70.724561] R13: 0000000000000000 R14: 0000000000000040 R15: 0000000000000000 [   70.724561] FS:  000000002c5c1380(0000) GS:ffff95bd7fcc0000(0000) knlGS:0000000000000000 [   70.724561] CS:  0010 DS: 0000 ES: 0000 C ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49997",
                                "url": "https://ubuntu.com/security/CVE-2024-49997",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: ethernet: lantiq_etop: fix memory disclosure  When applying padding, the buffer is not zeroed, which results in memory disclosure. The mentioned data is observed on the wire. This patch uses skb_put_padto() to pad Ethernet frames properly. The mentioned function zeroes the expanded buffer.  In case the packet cannot be padded it is silently dropped. Statistics are also not incremented. This driver does not support statistics in the old 32-bit format or the new 64-bit format. These will be added in the future. In its current form, the patch should be easily backported to stable versions.  Ethernet MACs on Amazon-SE and Danube cannot do padding of the packets in hardware, so software padding must be applied.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49952",
                                "url": "https://ubuntu.com/security/CVE-2024-49952",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: prevent nf_skb_duplicated corruption  syzbot found that nf_dup_ipv4() or nf_dup_ipv6() could write per-cpu variable nf_skb_duplicated in an unsafe way [1].  Disabling preemption as hinted by the splat is not enough, we have to disable soft interrupts as well.  [1] BUG: using __this_cpu_write() in preemptible [00000000] code: syz.4.282/6316  caller is nf_dup_ipv4+0x651/0x8f0 net/ipv4/netfilter/nf_dup_ipv4.c:87 CPU: 0 UID: 0 PID: 6316 Comm: syz.4.282 Not tainted 6.11.0-rc7-syzkaller-00104-g7052622fccb1 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 Call Trace:  <TASK>   __dump_stack lib/dump_stack.c:93 [inline]   dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119   check_preemption_disabled+0x10e/0x120 lib/smp_processor_id.c:49   nf_dup_ipv4+0x651/0x8f0 net/ipv4/netfilter/nf_dup_ipv4.c:87   nft_dup_ipv4_eval+0x1db/0x300 net/ipv4/netfilter/nft_dup_ipv4.c:30   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x4ad/0x1da0 net/netfilter/nf_tables_core.c:288   nft_do_chain_ipv4+0x202/0x320 net/netfilter/nft_chain_filter.c:23   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xc3/0x220 net/netfilter/core.c:626   nf_hook+0x2c4/0x450 include/linux/netfilter.h:269   NF_HOOK_COND include/linux/netfilter.h:302 [inline]   ip_output+0x185/0x230 net/ipv4/ip_output.c:433   ip_local_out net/ipv4/ip_output.c:129 [inline]   ip_send_skb+0x74/0x100 net/ipv4/ip_output.c:1495   udp_send_skb+0xacf/0x1650 net/ipv4/udp.c:981   udp_sendmsg+0x1c21/0x2a60 net/ipv4/udp.c:1269   sock_sendmsg_nosec net/socket.c:730 [inline]   __sock_sendmsg+0x1a6/0x270 net/socket.c:745   ____sys_sendmsg+0x525/0x7d0 net/socket.c:2597   ___sys_sendmsg net/socket.c:2651 [inline]   __sys_sendmmsg+0x3b2/0x740 net/socket.c:2737   __do_sys_sendmmsg net/socket.c:2766 [inline]   __se_sys_sendmmsg net/socket.c:2763 [inline]   __x64_sys_sendmmsg+0xa0/0xb0 net/socket.c:2763   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f4ce4f7def9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f4ce5d4a038 EFLAGS: 00000246 ORIG_RAX: 0000000000000133 RAX: ffffffffffffffda RBX: 00007f4ce5135f80 RCX: 00007f4ce4f7def9 RDX: 0000000000000001 RSI: 0000000020005d40 RDI: 0000000000000006 RBP: 00007f4ce4ff0b76 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f4ce5135f80 R15: 00007ffd4cbc6d68  </TASK>",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-50179",
                                "url": "https://ubuntu.com/security/CVE-2024-50179",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ceph: remove the incorrect Fw reference check when dirtying pages  When doing the direct-io reads it will also try to mark pages dirty, but for the read path it won't hold the Fw caps and there is case will it get the Fw reference.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-11-08 06:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49963",
                                "url": "https://ubuntu.com/security/CVE-2024-49963",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mailbox: bcm2835: Fix timeout during suspend mode  During noirq suspend phase the Raspberry Pi power driver suffer of firmware property timeouts. The reason is that the IRQ of the underlying BCM2835 mailbox is disabled and rpi_firmware_property_list() will always run into a timeout [1].  Since the VideoCore side isn't consider as a wakeup source, set the IRQF_NO_SUSPEND flag for the mailbox IRQ in order to keep it enabled during suspend-resume cycle.  [1] PM: late suspend of devices complete after 1.754 msecs WARNING: CPU: 0 PID: 438 at drivers/firmware/raspberrypi.c:128  rpi_firmware_property_list+0x204/0x22c Firmware transaction 0x00028001 timeout Modules linked in: CPU: 0 PID: 438 Comm: bash Tainted: G         C         6.9.3-dirty #17 Hardware name: BCM2835 Call trace: unwind_backtrace from show_stack+0x18/0x1c show_stack from dump_stack_lvl+0x34/0x44 dump_stack_lvl from __warn+0x88/0xec __warn from warn_slowpath_fmt+0x7c/0xb0 warn_slowpath_fmt from rpi_firmware_property_list+0x204/0x22c rpi_firmware_property_list from rpi_firmware_property+0x68/0x8c rpi_firmware_property from rpi_firmware_set_power+0x54/0xc0 rpi_firmware_set_power from _genpd_power_off+0xe4/0x148 _genpd_power_off from genpd_sync_power_off+0x7c/0x11c genpd_sync_power_off from genpd_finish_suspend+0xcc/0xe0 genpd_finish_suspend from dpm_run_callback+0x78/0xd0 dpm_run_callback from device_suspend_noirq+0xc0/0x238 device_suspend_noirq from dpm_suspend_noirq+0xb0/0x168 dpm_suspend_noirq from suspend_devices_and_enter+0x1b8/0x5ac suspend_devices_and_enter from pm_suspend+0x254/0x2e4 pm_suspend from state_store+0xa8/0xd4 state_store from kernfs_fop_write_iter+0x154/0x1a0 kernfs_fop_write_iter from vfs_write+0x12c/0x184 vfs_write from ksys_write+0x78/0xc0 ksys_write from ret_fast_syscall+0x0/0x54 Exception stack(0xcc93dfa8 to 0xcc93dff0) [...] PM: noirq suspend of devices complete after 3095.584 msecs",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 18:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-46849",
                                "url": "https://ubuntu.com/security/CVE-2024-46849",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: meson: axg-card: fix 'use-after-free'  Buffer 'card->dai_link' is reallocated in 'meson_card_reallocate_links()', so move 'pad' pointer initialization after this function when memory is already reallocated.  Kasan bug report:  ================================================================== BUG: KASAN: slab-use-after-free in axg_card_add_link+0x76c/0x9bc Read of size 8 at addr ffff000000e8b260 by task modprobe/356  CPU: 0 PID: 356 Comm: modprobe Tainted: G O 6.9.12-sdkernel #1 Call trace:  dump_backtrace+0x94/0xec  show_stack+0x18/0x24  dump_stack_lvl+0x78/0x90  print_report+0xfc/0x5c0  kasan_report+0xb8/0xfc  __asan_load8+0x9c/0xb8  axg_card_add_link+0x76c/0x9bc [snd_soc_meson_axg_sound_card]  meson_card_probe+0x344/0x3b8 [snd_soc_meson_card_utils]  platform_probe+0x8c/0xf4  really_probe+0x110/0x39c  __driver_probe_device+0xb8/0x18c  driver_probe_device+0x108/0x1d8  __driver_attach+0xd0/0x25c  bus_for_each_dev+0xe0/0x154  driver_attach+0x34/0x44  bus_add_driver+0x134/0x294  driver_register+0xa8/0x1e8  __platform_driver_register+0x44/0x54  axg_card_pdrv_init+0x20/0x1000 [snd_soc_meson_axg_sound_card]  do_one_initcall+0xdc/0x25c  do_init_module+0x10c/0x334  load_module+0x24c4/0x26cc  init_module_from_file+0xd4/0x128  __arm64_sys_finit_module+0x1f4/0x41c  invoke_syscall+0x60/0x188  el0_svc_common.constprop.0+0x78/0x13c  do_el0_svc+0x30/0x40  el0_svc+0x38/0x78  el0t_64_sync_handler+0x100/0x12c  el0t_64_sync+0x190/0x194",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-09-27 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47679",
                                "url": "https://ubuntu.com/security/CVE-2024-47679",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  vfs: fix race between evice_inodes() and find_inode()&iput()  Hi, all  Recently I noticed a bug[1] in btrfs, after digged it into and I believe it'a race in vfs.  Let's assume there's a inode (ie ino 261) with i_count 1 is called by iput(), and there's a concurrent thread calling generic_shutdown_super().  cpu0:                              cpu1: iput() // i_count is 1   ->spin_lock(inode)   ->dec i_count to 0   ->iput_final()                    generic_shutdown_super()     ->__inode_add_lru()               ->evict_inodes()       // cause some reason[2]           ->if (atomic_read(inode->i_count)) continue;       // return before                  // inode 261 passed the above check       // list_lru_add_obj()             // and then schedule out    ->spin_unlock() // note here: the inode 261 // was still at sb list and hash list, // and I_FREEING|I_WILL_FREE was not been set  btrfs_iget()   // after some function calls   ->find_inode()     // found the above inode 261     ->spin_lock(inode)    // check I_FREEING|I_WILL_FREE    // and passed       ->__iget()     ->spin_unlock(inode)                // schedule back                                         ->spin_lock(inode)                                         // check (I_NEW|I_FREEING|I_WILL_FREE) flags,                                         // passed and set I_FREEING iput()                                  ->spin_unlock(inode)   ->spin_lock(inode)\t\t\t  ->evict()   // dec i_count to 0   ->iput_final()     ->spin_unlock()     ->evict()  Now, we have two threads simultaneously evicting the same inode, which may trigger the BUG(inode->i_state & I_CLEAR) statement both within clear_inode() and iput().  To fix the bug, recheck the inode->i_count after holding i_lock. Because in the most scenarios, the first check is valid, and the overhead of spin_lock() can be reduced.  If there is any misunderstanding, please let me know, thanks.  [1]: https://lore.kernel.org/linux-btrfs/000000000000eabe1d0619c48986@google.com/ [2]: The reason might be 1. SB_ACTIVE was removed or 2. mapping_shrinkable() return false when I reproduced the bug.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49860",
                                "url": "https://ubuntu.com/security/CVE-2024-49860",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPI: sysfs: validate return type of _STR method  Only buffer objects are valid return values of _STR.  If something else is returned description_show() will access invalid memory.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47742",
                                "url": "https://ubuntu.com/security/CVE-2024-47742",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  firmware_loader: Block path traversal  Most firmware names are hardcoded strings, or are constructed from fairly constrained format strings where the dynamic parts are just some hex numbers or such.  However, there are a couple codepaths in the kernel where firmware file names contain string components that are passed through from a device or semi-privileged userspace; the ones I could find (not counting interfaces that require root privileges) are:   - lpfc_sli4_request_firmware_update() seems to construct the firmware    filename from \"ModelName\", a string that was previously parsed out of    some descriptor (\"Vital Product Data\") in lpfc_fill_vpd()  - nfp_net_fw_find() seems to construct a firmware filename from a model    name coming from nfp_hwinfo_lookup(pf->hwinfo, \"nffw.partno\"), which I    think parses some descriptor that was read from the device.    (But this case likely isn't exploitable because the format string looks    like \"netronome/nic_%s\", and there shouldn't be any *folders* starting    with \"netronome/nic_\". The previous case was different because there,    the \"%s\" is *at the start* of the format string.)  - module_flash_fw_schedule() is reachable from the    ETHTOOL_MSG_MODULE_FW_FLASH_ACT netlink command, which is marked as    GENL_UNS_ADMIN_PERM (meaning CAP_NET_ADMIN inside a user namespace is    enough to pass the privilege check), and takes a userspace-provided    firmware name.    (But I think to reach this case, you need to have CAP_NET_ADMIN over a    network namespace that a special kind of ethernet device is mapped into,    so I think this is not a viable attack path in practice.)  Fix it by rejecting any firmware names containing \"..\" path components.  For what it's worth, I went looking and haven't found any USB device drivers that use the firmware loader dangerously.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47684",
                                "url": "https://ubuntu.com/security/CVE-2024-47684",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tcp: check skb is non-NULL in tcp_rto_delta_us()  We have some machines running stock Ubuntu 20.04.6 which is their 5.4.0-174-generic kernel that are running ceph and recently hit a null ptr dereference in tcp_rearm_rto(). Initially hitting it from the TLP path, but then later we also saw it getting hit from the RACK case as well. Here are examples of the oops messages we saw in each of those cases:  Jul 26 15:05:02 rx [11061395.780353] BUG: kernel NULL pointer dereference, address: 0000000000000020 Jul 26 15:05:02 rx [11061395.787572] #PF: supervisor read access in kernel mode Jul 26 15:05:02 rx [11061395.792971] #PF: error_code(0x0000) - not-present page Jul 26 15:05:02 rx [11061395.798362] PGD 0 P4D 0 Jul 26 15:05:02 rx [11061395.801164] Oops: 0000 [#1] SMP NOPTI Jul 26 15:05:02 rx [11061395.805091] CPU: 0 PID: 9180 Comm: msgr-worker-1 Tainted: G W 5.4.0-174-generic #193-Ubuntu Jul 26 15:05:02 rx [11061395.814996] Hardware name: Supermicro SMC 2x26 os-gen8 64C NVME-Y 256G/H12SSW-NTR, BIOS 2.5.V1.2U.NVMe.UEFI 05/09/2023 Jul 26 15:05:02 rx [11061395.825952] RIP: 0010:tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.830656] Code: 87 ca 04 00 00 00 5b 41 5c 41 5d 5d c3 c3 49 8b bc 24 40 06 00 00 eb 8d 48 bb cf f7 53 e3 a5 9b c4 20 4c 89 ef e8 0c fe 0e 00 <48> 8b 78 20 48 c1 ef 03 48 89 f8 41 8b bc 24 80 04 00 00 48 f7 e3 Jul 26 15:05:02 rx [11061395.849665] RSP: 0018:ffffb75d40003e08 EFLAGS: 00010246 Jul 26 15:05:02 rx [11061395.855149] RAX: 0000000000000000 RBX: 20c49ba5e353f7cf RCX: 0000000000000000 Jul 26 15:05:02 rx [11061395.862542] RDX: 0000000062177c30 RSI: 000000000000231c RDI: ffff9874ad283a60 Jul 26 15:05:02 rx [11061395.869933] RBP: ffffb75d40003e20 R08: 0000000000000000 R09: ffff987605e20aa8 Jul 26 15:05:02 rx [11061395.877318] R10: ffffb75d40003f00 R11: ffffb75d4460f740 R12: ffff9874ad283900 Jul 26 15:05:02 rx [11061395.884710] R13: ffff9874ad283a60 R14: ffff9874ad283980 R15: ffff9874ad283d30 Jul 26 15:05:02 rx [11061395.892095] FS: 00007f1ef4a2e700(0000) GS:ffff987605e00000(0000) knlGS:0000000000000000 Jul 26 15:05:02 rx [11061395.900438] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Jul 26 15:05:02 rx [11061395.906435] CR2: 0000000000000020 CR3: 0000003e450ba003 CR4: 0000000000760ef0 Jul 26 15:05:02 rx [11061395.913822] PKRU: 55555554 Jul 26 15:05:02 rx [11061395.916786] Call Trace: Jul 26 15:05:02 rx [11061395.919488] Jul 26 15:05:02 rx [11061395.921765] ? show_regs.cold+0x1a/0x1f Jul 26 15:05:02 rx [11061395.925859] ? __die+0x90/0xd9 Jul 26 15:05:02 rx [11061395.929169] ? no_context+0x196/0x380 Jul 26 15:05:02 rx [11061395.933088] ? ip6_protocol_deliver_rcu+0x4e0/0x4e0 Jul 26 15:05:02 rx [11061395.938216] ? ip6_sublist_rcv_finish+0x3d/0x50 Jul 26 15:05:02 rx [11061395.943000] ? __bad_area_nosemaphore+0x50/0x1a0 Jul 26 15:05:02 rx [11061395.947873] ? bad_area_nosemaphore+0x16/0x20 Jul 26 15:05:02 rx [11061395.952486] ? do_user_addr_fault+0x267/0x450 Jul 26 15:05:02 rx [11061395.957104] ? ipv6_list_rcv+0x112/0x140 Jul 26 15:05:02 rx [11061395.961279] ? __do_page_fault+0x58/0x90 Jul 26 15:05:02 rx [11061395.965458] ? do_page_fault+0x2c/0xe0 Jul 26 15:05:02 rx [11061395.969465] ? page_fault+0x34/0x40 Jul 26 15:05:02 rx [11061395.973217] ? tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.977313] ? tcp_rearm_rto+0xe4/0x160 Jul 26 15:05:02 rx [11061395.981408] tcp_send_loss_probe+0x10b/0x220 Jul 26 15:05:02 rx [11061395.985937] tcp_write_timer_handler+0x1b4/0x240 Jul 26 15:05:02 rx [11061395.990809] tcp_write_timer+0x9e/0xe0 Jul 26 15:05:02 rx [11061395.994814] ? tcp_write_timer_handler+0x240/0x240 Jul 26 15:05:02 rx [11061395.999866] call_timer_fn+0x32/0x130 Jul 26 15:05:02 rx [11061396.003782] __run_timers.part.0+0x180/0x280 Jul 26 15:05:02 rx [11061396.008309] ? recalibrate_cpu_khz+0x10/0x10 Jul 26 15:05:02 rx [11061396.012841] ? native_x2apic_icr_write+0x30/0x30 Jul 26 15:05:02 rx [11061396.017718] ? lapic_next_even ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47747",
                                "url": "https://ubuntu.com/security/CVE-2024-47747",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition  In the ether3_probe function, a timer is initialized with a callback function ether3_ledoff, bound to &prev(dev)->timer. Once the timer is started, there is a risk of a race condition if the module or device is removed, triggering the ether3_remove function to perform cleanup. The sequence of operations that may lead to a UAF bug is as follows:  CPU0                                    CPU1                        |  ether3_ledoff ether3_remove         |   free_netdev(dev);   |   put_devic           |   kfree(dev);         |  |  ether3_outw(priv(dev)->regs.config2 |= CFG2_CTRLO, REG_CONFIG2);                       | // use dev  Fix it by ensuring that the timer is canceled before proceeding with the cleanup in ether3_remove.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47685",
                                "url": "https://ubuntu.com/security/CVE-2024-47685",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()  syzbot reported that nf_reject_ip6_tcphdr_put() was possibly sending garbage on the four reserved tcp bits (th->res1)  Use skb_put_zero() to clear the whole TCP header, as done in nf_reject_ip_tcphdr_put()  BUG: KMSAN: uninit-value in nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255   nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255   nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344   nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288   nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626   nf_hook include/linux/netfilter.h:269 [inline]   NF_HOOK include/linux/netfilter.h:312 [inline]   ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310   __netif_receive_skb_one_core net/core/dev.c:5661 [inline]   __netif_receive_skb+0x1da/0xa00 net/core/dev.c:5775   process_backlog+0x4ad/0xa50 net/core/dev.c:6108   __napi_poll+0xe7/0x980 net/core/dev.c:6772   napi_poll net/core/dev.c:6841 [inline]   net_rx_action+0xa5a/0x19b0 net/core/dev.c:6963   handle_softirqs+0x1ce/0x800 kernel/softirq.c:554   __do_softirq+0x14/0x1a kernel/softirq.c:588   do_softirq+0x9a/0x100 kernel/softirq.c:455   __local_bh_enable_ip+0x9f/0xb0 kernel/softirq.c:382   local_bh_enable include/linux/bottom_half.h:33 [inline]   rcu_read_unlock_bh include/linux/rcupdate.h:908 [inline]   __dev_queue_xmit+0x2692/0x5610 net/core/dev.c:4450   dev_queue_xmit include/linux/netdevice.h:3105 [inline]   neigh_resolve_output+0x9ca/0xae0 net/core/neighbour.c:1565   neigh_output include/net/neighbour.h:542 [inline]   ip6_finish_output2+0x2347/0x2ba0 net/ipv6/ip6_output.c:141   __ip6_finish_output net/ipv6/ip6_output.c:215 [inline]   ip6_finish_output+0xbb8/0x14b0 net/ipv6/ip6_output.c:226   NF_HOOK_COND include/linux/netfilter.h:303 [inline]   ip6_output+0x356/0x620 net/ipv6/ip6_output.c:247   dst_output include/net/dst.h:450 [inline]   NF_HOOK include/linux/netfilter.h:314 [inline]   ip6_xmit+0x1ba6/0x25d0 net/ipv6/ip6_output.c:366   inet6_csk_xmit+0x442/0x530 net/ipv6/inet6_connection_sock.c:135   __tcp_transmit_skb+0x3b07/0x4880 net/ipv4/tcp_output.c:1466   tcp_transmit_skb net/ipv4/tcp_output.c:1484 [inline]   tcp_connect+0x35b6/0x7130 net/ipv4/tcp_output.c:4143   tcp_v6_connect+0x1bcc/0x1e40 net/ipv6/tcp_ipv6.c:333   __inet_stream_connect+0x2ef/0x1730 net/ipv4/af_inet.c:679   inet_stream_connect+0x6a/0xd0 net/ipv4/af_inet.c:750   __sys_connect_file net/socket.c:2061 [inline]   __sys_connect+0x606/0x690 net/socket.c:2078   __do_sys_connect net/socket.c:2088 [inline]   __se_sys_connect net/socket.c:2085 [inline]   __x64_sys_connect+0x91/0xe0 net/socket.c:2085   x64_sys_call+0x27a5/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:43   do_syscall_x64 arch/x86/entry/common.c:52 [inline]   do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f  Uninit was stored to memory at:   nf_reject_ip6_tcphdr_put+0x60c/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:249   nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344   nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48   expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline]   nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288   nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161   nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]   nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626   nf_hook include/linux/netfilter.h:269 [inline]   NF_HOOK include/linux/netfilter.h:312 [inline]   ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310   __netif_receive_skb_one_core ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47692",
                                "url": "https://ubuntu.com/security/CVE-2024-47692",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfsd: return -EINVAL when namelen is 0  When we have a corrupted main.sqlite in /var/lib/nfs/nfsdcld/, it may result in namelen being 0, which will cause memdup_user() to return ZERO_SIZE_PTR. When we access the name.data that has been assigned the value of ZERO_SIZE_PTR in nfs4_client_to_reclaim(), null pointer dereference is triggered.  [ T1205] ================================================================== [ T1205] BUG: KASAN: null-ptr-deref in nfs4_client_to_reclaim+0xe9/0x260 [ T1205] Read of size 1 at addr 0000000000000010 by task nfsdcld/1205 [ T1205] [ T1205] CPU: 11 PID: 1205 Comm: nfsdcld Not tainted 5.10.0-00003-g2c1423731b8d #406 [ T1205] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-buildvm-ppc64le-16.ppc.fedoraproject.org-3.fc31 04/01/2014 [ T1205] Call Trace: [ T1205]  dump_stack+0x9a/0xd0 [ T1205]  ? nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  __kasan_report.cold+0x34/0x84 [ T1205]  ? nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  kasan_report+0x3a/0x50 [ T1205]  nfs4_client_to_reclaim+0xe9/0x260 [ T1205]  ? nfsd4_release_lockowner+0x410/0x410 [ T1205]  cld_pipe_downcall+0x5ca/0x760 [ T1205]  ? nfsd4_cld_tracking_exit+0x1d0/0x1d0 [ T1205]  ? down_write_killable_nested+0x170/0x170 [ T1205]  ? avc_policy_seqno+0x28/0x40 [ T1205]  ? selinux_file_permission+0x1b4/0x1e0 [ T1205]  rpc_pipe_write+0x84/0xb0 [ T1205]  vfs_write+0x143/0x520 [ T1205]  ksys_write+0xc9/0x170 [ T1205]  ? __ia32_sys_read+0x50/0x50 [ T1205]  ? ktime_get_coarse_real_ts64+0xfe/0x110 [ T1205]  ? ktime_get_coarse_real_ts64+0xa2/0x110 [ T1205]  do_syscall_64+0x33/0x40 [ T1205]  entry_SYSCALL_64_after_hwframe+0x67/0xd1 [ T1205] RIP: 0033:0x7fdbdb761bc7 [ T1205] Code: 0f 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 514 [ T1205] RSP: 002b:00007fff8c4b7248 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ T1205] RAX: ffffffffffffffda RBX: 000000000000042b RCX: 00007fdbdb761bc7 [ T1205] RDX: 000000000000042b RSI: 00007fff8c4b75f0 RDI: 0000000000000008 [ T1205] RBP: 00007fdbdb761bb0 R08: 0000000000000000 R09: 0000000000000001 [ T1205] R10: 0000000000000000 R11: 0000000000000246 R12: 000000000000042b [ T1205] R13: 0000000000000008 R14: 00007fff8c4b75f0 R15: 0000000000000000 [ T1205] ==================================================================  Fix it by checking namelen.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47737",
                                "url": "https://ubuntu.com/security/CVE-2024-47737",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nfsd: call cache_put if xdr_reserve_space returns NULL  If not enough buffer space available, but idmap_lookup has triggered lookup_fn which calls cache_get and returns successfully. Then we missed to call cache_put here which pairs with cache_get.  Reviwed-by: Jeff Layton <jlayton@kernel.org>",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2023-52917",
                                "url": "https://ubuntu.com/security/CVE-2023-52917",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()  The debugfs_create_dir() function returns error pointers. It never returns NULL. So use IS_ERR() to check it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47749",
                                "url": "https://ubuntu.com/security/CVE-2024-47749",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cxgb4: Added NULL check for lookup_atid  The lookup_atid() function can return NULL if the ATID is invalid or does not exist in the identifier table, which could lead to dereferencing a null pointer without a check in the `act_establish()` and `act_open_rpl()` functions. Add a NULL check to prevent null pointer dereferencing.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47696",
                                "url": "https://ubuntu.com/security/CVE-2024-47696",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency  In the commit aee2424246f9 (\"RDMA/iwcm: Fix a use-after-free related to destroying CM IDs\"), the function flush_workqueue is invoked to flush the work queue iwcm_wq.  But at that time, the work queue iwcm_wq was created via the function alloc_ordered_workqueue without the flag WQ_MEM_RECLAIM.  Because the current process is trying to flush the whole iwcm_wq, if iwcm_wq doesn't have the flag WQ_MEM_RECLAIM, verify that the current process is not reclaiming memory or running on a workqueue which doesn't have the flag WQ_MEM_RECLAIM as that can break forward-progress guarantee leading to a deadlock.  The call trace is as below:  [  125.350876][ T1430] Call Trace: [  125.356281][ T1430]  <TASK> [ 125.361285][ T1430] ? __warn (kernel/panic.c:693) [ 125.367640][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.375689][ T1430] ? report_bug (lib/bug.c:180 lib/bug.c:219) [ 125.382505][ T1430] ? handle_bug (arch/x86/kernel/traps.c:239) [ 125.388987][ T1430] ? exc_invalid_op (arch/x86/kernel/traps.c:260 (discriminator 1)) [ 125.395831][ T1430] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:621) [ 125.403125][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.410984][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.418764][ T1430] __flush_workqueue (kernel/workqueue.c:3970) [ 125.426021][ T1430] ? __pfx___might_resched (kernel/sched/core.c:10151) [ 125.433431][ T1430] ? destroy_cm_id (drivers/infiniband/core/iwcm.c:375) iw_cm [ 125.441209][ T1430] ? __pfx___flush_workqueue (kernel/workqueue.c:3910) [ 125.473900][ T1430] ? _raw_spin_lock_irqsave (arch/x86/include/asm/atomic.h:107 include/linux/atomic/atomic-arch-fallback.h:2170 include/linux/atomic/atomic-instrumented.h:1302 include/asm-generic/qspinlock.h:111 include/linux/spinlock.h:187 include/linux/spinlock_api_smp.h:111 kernel/locking/spinlock.c:162) [ 125.473909][ T1430] ? __pfx__raw_spin_lock_irqsave (kernel/locking/spinlock.c:161) [ 125.482537][ T1430] _destroy_id (drivers/infiniband/core/cma.c:2044) rdma_cm [ 125.495072][ T1430] nvme_rdma_free_queue (drivers/nvme/host/rdma.c:656 drivers/nvme/host/rdma.c:650) nvme_rdma [ 125.505827][ T1430] nvme_rdma_reset_ctrl_work (drivers/nvme/host/rdma.c:2180) nvme_rdma [ 125.505831][ T1430] process_one_work (kernel/workqueue.c:3231) [ 125.515122][ T1430] worker_thread (kernel/workqueue.c:3306 kernel/workqueue.c:3393) [ 125.515127][ T1430] ? __pfx_worker_thread (kernel/workqueue.c:3339) [ 125.531837][ T1430] kthread (kernel/kthread.c:389) [ 125.539864][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.550628][ T1430] ret_from_fork (arch/x86/kernel/process.c:147) [ 125.558840][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.558844][ T1430] ret_from_fork_asm (arch/x86/entry/entry_64.S:257) [  125.566487][ T1430]  </TASK> [  125.566488][ T1430] ---[ end trace 0000000000000000 ]---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47756",
                                "url": "https://ubuntu.com/security/CVE-2024-47756",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  PCI: keystone: Fix if-statement expression in ks_pcie_quirk()  This code accidentally uses && where || was intended.  It potentially results in a NULL dereference.  Thus, fix the if-statement expression to use the correct condition.  [kwilczynski: commit log]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47697",
                                "url": "https://ubuntu.com/security/CVE-2024-47697",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error  Ensure index in rtl2830_pid_filter does not exceed 31 to prevent out-of-bounds access.  dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47698",
                                "url": "https://ubuntu.com/security/CVE-2024-47698",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error  Ensure index in rtl2832_pid_filter does not exceed 31 to prevent out-of-bounds access.  dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue.  [hverkuil: added fixes tag, rtl2830_pid_filter -> rtl2832_pid_filter in logmsg]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47757",
                                "url": "https://ubuntu.com/security/CVE-2024-47757",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential oob read in nilfs_btree_check_delete()  The function nilfs_btree_check_delete(), which checks whether degeneration to direct mapping occurs before deleting a b-tree entry, causes memory access outside the block buffer when retrieving the maximum key if the root node has no entries.  This does not usually happen because b-tree mappings with 0 child nodes are never created by mkfs.nilfs2 or nilfs2 itself.  However, it can happen if the b-tree root node read from a device is configured that way, so fix this potential issue by adding a check for that case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47699",
                                "url": "https://ubuntu.com/security/CVE-2024-47699",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()  Patch series \"nilfs2: fix potential issues with empty b-tree nodes\".  This series addresses three potential issues with empty b-tree nodes that can occur with corrupted filesystem images, including one recently discovered by syzbot.   This patch (of 3):  If a b-tree is broken on the device, and the b-tree height is greater than 2 (the level of the root node is greater than 1) even if the number of child nodes of the b-tree root is 0, a NULL pointer dereference occurs in nilfs_btree_prepare_insert(), which is called from nilfs_btree_insert().  This is because, when the number of child nodes of the b-tree root is 0, nilfs_btree_do_lookup() does not set the block buffer head in any of path[x].bp_bh, leaving it as the initial value of NULL, but if the level of the b-tree root node is greater than 1, nilfs_btree_get_nonroot_node(), which accesses the buffer memory of path[x].bp_bh, is called.  Fix this issue by adding a check to nilfs_btree_root_broken(), which performs sanity checks when reading the root node from the device, to detect this inconsistency.  Thanks to Lizhi Xu for trying to solve the bug and clarifying the cause early on.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47701",
                                "url": "https://ubuntu.com/security/CVE-2024-47701",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: avoid OOB when system.data xattr changes underneath the filesystem  When looking up for an entry in an inlined directory, if e_value_offs is changed underneath the filesystem by some change in the block device, it will lead to an out-of-bounds access that KASAN detects as an UAF.  EXT4-fs (loop0): mounted filesystem 00000000-0000-0000-0000-000000000000 r/w without journal. Quota mode: none. loop0: detected capacity change from 2048 to 2047 ================================================================== BUG: KASAN: use-after-free in ext4_search_dir+0xf2/0x1c0 fs/ext4/namei.c:1500 Read of size 1 at addr ffff88803e91130f by task syz-executor269/5103  CPU: 0 UID: 0 PID: 5103 Comm: syz-executor269 Not tainted 6.11.0-rc4-syzkaller #0 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 lib/dump_stack.c:93 [inline]  dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119  print_address_description mm/kasan/report.c:377 [inline]  print_report+0x169/0x550 mm/kasan/report.c:488  kasan_report+0x143/0x180 mm/kasan/report.c:601  ext4_search_dir+0xf2/0x1c0 fs/ext4/namei.c:1500  ext4_find_inline_entry+0x4be/0x5e0 fs/ext4/inline.c:1697  __ext4_find_entry+0x2b4/0x1b30 fs/ext4/namei.c:1573  ext4_lookup_entry fs/ext4/namei.c:1727 [inline]  ext4_lookup+0x15f/0x750 fs/ext4/namei.c:1795  lookup_one_qstr_excl+0x11f/0x260 fs/namei.c:1633  filename_create+0x297/0x540 fs/namei.c:3980  do_symlinkat+0xf9/0x3a0 fs/namei.c:4587  __do_sys_symlinkat fs/namei.c:4610 [inline]  __se_sys_symlinkat fs/namei.c:4607 [inline]  __x64_sys_symlinkat+0x95/0xb0 fs/namei.c:4607  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f3e73ced469 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 21 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fff4d40c258 EFLAGS: 00000246 ORIG_RAX: 000000000000010a RAX: ffffffffffffffda RBX: 0032656c69662f2e RCX: 00007f3e73ced469 RDX: 0000000020000200 RSI: 00000000ffffff9c RDI: 00000000200001c0 RBP: 0000000000000000 R08: 00007fff4d40c290 R09: 00007fff4d40c290 R10: 0023706f6f6c2f76 R11: 0000000000000246 R12: 00007fff4d40c27c R13: 0000000000000003 R14: 431bde82d7b634db R15: 00007fff4d40c2b0  </TASK>  Calling ext4_xattr_ibody_find right after reading the inode with ext4_get_inode_loc will lead to a check of the validity of the xattrs, avoiding this problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-49851",
                                "url": "https://ubuntu.com/security/CVE-2024-49851",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Clean up TPM space after command failure  tpm_dev_transmit prepares the TPM space before attempting command transmission. However if the command fails no rollback of this preparation is done. This can result in transient handles being leaked if the device is subsequently closed with no further commands performed.  Fix this by flushing the space in the event of command transmission failure.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47723",
                                "url": "https://ubuntu.com/security/CVE-2024-47723",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  jfs: fix out-of-bounds in dbNextAG() and diAlloc()  In dbNextAG() , there is no check for the case where bmp->db_numag is greater or same than MAXAG due to a polluted image, which causes an out-of-bounds. Therefore, a bounds check should be added in dbMount().  And in dbNextAG(), a check for the case where agpref is greater than bmp->db_numag should be added, so an out-of-bounds exception should be prevented.  Additionally, a check for the case where agno is greater or same than MAXAG should be added in diAlloc() to prevent out-of-bounds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47706",
                                "url": "https://ubuntu.com/security/CVE-2024-47706",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block, bfq: fix possible UAF for bfqq->bic with merge chain  1) initial state, three tasks:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t\t  |  ?            |  ?\t\t  |  ? \t\t  |  |            |  |\t\t  |  | \t\t  V  |            V  |\t\t  V  | \t\t  bfqq1           bfqq2\t\t  bfqq3 process ref:\t   1\t\t    1\t\t    1  2) bfqq1 merged to bfqq2:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t\t  |               |\t\t  |  ? \t\t  \\--------------\\|\t\t  |  | \t\t                  V\t\t  V  | \t\t  bfqq1--------->bfqq2\t\t  bfqq3 process ref:\t   0\t\t    2\t\t    1  3) bfqq2 merged to bfqq3:  \t\tProcess 1       Process 2\tProcess 3 \t\t (BIC1)          (BIC2)\t\t (BIC3) \t here -> ?                |\t\t  | \t\t  \\--------------\\ \\-------------\\| \t\t                  V\t\t  V \t\t  bfqq1--------->bfqq2---------->bfqq3 process ref:\t   0\t\t    1\t\t    3  In this case, IO from Process 1 will get bfqq2 from BIC1 first, and then get bfqq3 through merge chain, and finially handle IO by bfqq3. Howerver, current code will think bfqq2 is owned by BIC1, like initial state, and set bfqq2->bic to BIC1.  bfq_insert_request -> by Process 1  bfqq = bfq_init_rq(rq)   bfqq = bfq_get_bfqq_handle_split    bfqq = bic_to_bfqq    -> get bfqq2 from BIC1  bfqq->ref++  rq->elv.priv[0] = bic  rq->elv.priv[1] = bfqq  if (bfqq_process_refs(bfqq) == 1)   bfqq->bic = bic   -> record BIC1 to bfqq2    __bfq_insert_request    new_bfqq = bfq_setup_cooperator    -> get bfqq3 from bfqq2->new_bfqq    bfqq_request_freed(bfqq)    new_bfqq->ref++    rq->elv.priv[1] = new_bfqq    -> handle IO by bfqq3  Fix the problem by checking bfqq is from merge chain fist. And this might fix a following problem reported by our syzkaller(unreproducible):  ================================================================== BUG: KASAN: slab-use-after-free in bfq_do_early_stable_merge block/bfq-iosched.c:5692 [inline] BUG: KASAN: slab-use-after-free in bfq_do_or_sched_stable_merge block/bfq-iosched.c:5805 [inline] BUG: KASAN: slab-use-after-free in bfq_get_queue+0x25b0/0x2610 block/bfq-iosched.c:5889 Write of size 1 at addr ffff888123839eb8 by task kworker/0:1H/18595  CPU: 0 PID: 18595 Comm: kworker/0:1H Tainted: G             L    6.6.0-07439-gba2303cacfda #6 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 Workqueue: kblockd blk_mq_requeue_work Call Trace:  <TASK>  __dump_stack lib/dump_stack.c:88 [inline]  dump_stack_lvl+0x91/0xf0 lib/dump_stack.c:106  print_address_description mm/kasan/report.c:364 [inline]  print_report+0x10d/0x610 mm/kasan/report.c:475  kasan_report+0x8e/0xc0 mm/kasan/report.c:588  bfq_do_early_stable_merge block/bfq-iosched.c:5692 [inline]  bfq_do_or_sched_stable_merge block/bfq-iosched.c:5805 [inline]  bfq_get_queue+0x25b0/0x2610 block/bfq-iosched.c:5889  bfq_get_bfqq_handle_split+0x169/0x5d0 block/bfq-iosched.c:6757  bfq_init_rq block/bfq-iosched.c:6876 [inline]  bfq_insert_request block/bfq-iosched.c:6254 [inline]  bfq_insert_requests+0x1112/0x5cf0 block/bfq-iosched.c:6304  blk_mq_insert_request+0x290/0x8d0 block/blk-mq.c:2593  blk_mq_requeue_work+0x6bc/0xa70 block/blk-mq.c:1502  process_one_work kernel/workqueue.c:2627 [inline]  process_scheduled_works+0x432/0x13f0 kernel/workqueue.c:2700  worker_thread+0x6f2/0x1160 kernel/workqueue.c:2781  kthread+0x33c/0x440 kernel/kthread.c:388  ret_from_fork+0x4d/0x80 arch/x86/kernel/process.c:147  ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:305  </TASK>  Allocated by task 20776:  kasan_save_stack+0x20/0x40 mm/kasan/common.c:45  kasan_set_track+0x25/0x30 mm/kasan/common.c:52  __kasan_slab_alloc+0x87/0x90 mm/kasan/common.c:328  kasan_slab_alloc include/linux/kasan.h:188 [inline]  slab_post_alloc_hook mm/slab.h:763 [inline]  slab_alloc_node mm/slub.c:3458 [inline]  kmem_cache_alloc_node+0x1a4/0x6f0 mm/slub.c:3503  ioc_create_icq block/blk-ioc.c:370 [inline] ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47709",
                                "url": "https://ubuntu.com/security/CVE-2024-47709",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  can: bcm: Clear bo->bcm_proc_read after remove_proc_entry().  syzbot reported a warning in bcm_release(). [0]  The blamed change fixed another warning that is triggered when connect() is issued again for a socket whose connect()ed device has been unregistered.  However, if the socket is just close()d without the 2nd connect(), the remaining bo->bcm_proc_read triggers unnecessary remove_proc_entry() in bcm_release().  Let's clear bo->bcm_proc_read after remove_proc_entry() in bcm_notify().  [0] name '4986' WARNING: CPU: 0 PID: 5234 at fs/proc/generic.c:711 remove_proc_entry+0x2e7/0x5d0 fs/proc/generic.c:711 Modules linked in: CPU: 0 UID: 0 PID: 5234 Comm: syz-executor606 Not tainted 6.11.0-rc5-syzkaller-00178-g5517ae241919 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 RIP: 0010:remove_proc_entry+0x2e7/0x5d0 fs/proc/generic.c:711 Code: ff eb 05 e8 cb 1e 5e ff 48 8b 5c 24 10 48 c7 c7 e0 f7 aa 8e e8 2a 38 8e 09 90 48 c7 c7 60 3a 1b 8c 48 89 de e8 da 42 20 ff 90 <0f> 0b 90 90 48 8b 44 24 18 48 c7 44 24 40 0e 36 e0 45 49 c7 04 07 RSP: 0018:ffffc9000345fa20 EFLAGS: 00010246 RAX: 2a2d0aee2eb64600 RBX: ffff888032f1f548 RCX: ffff888029431e00 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffc9000345fb08 R08: ffffffff8155b2f2 R09: 1ffff1101710519a R10: dffffc0000000000 R11: ffffed101710519b R12: ffff888011d38640 R13: 0000000000000004 R14: 0000000000000000 R15: dffffc0000000000 FS:  0000000000000000(0000) GS:ffff8880b8800000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fcfb52722f0 CR3: 000000000e734000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  bcm_release+0x250/0x880 net/can/bcm.c:1578  __sock_release net/socket.c:659 [inline]  sock_close+0xbc/0x240 net/socket.c:1421  __fput+0x24a/0x8a0 fs/file_table.c:422  task_work_run+0x24f/0x310 kernel/task_work.c:228  exit_task_work include/linux/task_work.h:40 [inline]  do_exit+0xa2f/0x27f0 kernel/exit.c:882  do_group_exit+0x207/0x2c0 kernel/exit.c:1031  __do_sys_exit_group kernel/exit.c:1042 [inline]  __se_sys_exit_group kernel/exit.c:1040 [inline]  __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1040  x64_sys_call+0x2634/0x2640 arch/x86/include/generated/asm/syscalls_64.h:232  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fcfb51ee969 Code: Unable to access opcode bytes at 0x7fcfb51ee93f. RSP: 002b:00007ffce0109ca8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7 RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007fcfb51ee969 RDX: 000000000000003c RSI: 00000000000000e7 RDI: 0000000000000001 RBP: 00007fcfb526f3b0 R08: ffffffffffffffb8 R09: 0000555500000000 R10: 0000555500000000 R11: 0000000000000246 R12: 00007fcfb526f3b0 R13: 0000000000000000 R14: 00007fcfb5271ee0 R15: 00007fcfb51bf160  </TASK>",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47710",
                                "url": "https://ubuntu.com/security/CVE-2024-47710",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sock_map: Add a cond_resched() in sock_hash_free()  Several syzbot soft lockup reports all have in common sock_hash_free()  If a map with a large number of buckets is destroyed, we need to yield the cpu when needed.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47712",
                                "url": "https://ubuntu.com/security/CVE-2024-47712",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: wilc1000: fix potential RCU dereference issue in wilc_parse_join_bss_param  In the `wilc_parse_join_bss_param` function, the TSF field of the `ies` structure is accessed after the RCU read-side critical section is unlocked. According to RCU usage rules, this is illegal. Reusing this pointer can lead to unpredictable behavior, including accessing memory that has been updated or causing use-after-free issues.  This possible bug was identified using a static analysis tool developed by myself, specifically designed to detect RCU-related issues.  To address this, the TSF value is now stored in a local variable `ies_tsf` before the RCU lock is released. The `param->tsf_lo` field is then assigned using this local variable, ensuring that the TSF value is safely accessed.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47713",
                                "url": "https://ubuntu.com/security/CVE-2024-47713",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()  Since '__dev_queue_xmit()' should be called with interrupts enabled, the following backtrace:  ieee80211_do_stop()  ...  spin_lock_irqsave(&local->queue_stop_reason_lock, flags)  ...  ieee80211_free_txskb()   ieee80211_report_used_skb()    ieee80211_report_ack_skb()     cfg80211_mgmt_tx_status_ext()      nl80211_frame_tx_status()       genlmsg_multicast_netns()        genlmsg_multicast_netns_filtered()         nlmsg_multicast_filtered() \t netlink_broadcast_filtered() \t  do_one_broadcast() \t   netlink_broadcast_deliver() \t    __netlink_sendskb() \t     netlink_deliver_tap() \t      __netlink_deliver_tap_skb() \t       dev_queue_xmit() \t        __dev_queue_xmit() ; with IRQS disabled  ...  spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags)  issues the warning (as reported by syzbot reproducer):  WARNING: CPU: 2 PID: 5128 at kernel/softirq.c:362 __local_bh_enable_ip+0xc3/0x120  Fix this by implementing a two-phase skb reclamation in 'ieee80211_do_stop()', where actual work is performed outside of a section with interrupts disabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-21 12:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47671",
                                "url": "https://ubuntu.com/security/CVE-2024-47671",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  USB: usbtmc: prevent kernel-usb-infoleak  The syzbot reported a kernel-usb-infoleak in usbtmc_write, we need to clear the structure before filling fields.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-09 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-44931",
                                "url": "https://ubuntu.com/security/CVE-2024-44931",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gpio: prevent potential speculation leaks in gpio_device_get_desc()  Userspace may trigger a speculative read of an address outside the gpio descriptor array. Users can do that by calling gpio_ioctl() with an offset out of range. Offset is copied from user and then used as an array index to get the gpio descriptor without sanitization in gpio_device_get_desc().  This change ensures that the offset is sanitized by using array_index_nospec() to mitigate any possibility of speculative information leaks.  This bug was discovered and resolved using Coverity Static Analysis Security Testing (SAST) by Synopsys, Inc.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-08-26 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-41016",
                                "url": "https://ubuntu.com/security/CVE-2024-41016",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry()  xattr in ocfs2 maybe 'non-indexed', which saved with additional space requested.  It's better to check if the memory is out of bound before memcmp, although this possibility mainly comes from crafted poisonous images.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-07-29 07:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47670",
                                "url": "https://ubuntu.com/security/CVE-2024-47670",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: add bounds checking to ocfs2_xattr_find_entry()  Add a paranoia check to make sure it doesn't stray beyond valid memory region containing ocfs2 xattr entries when scanning for a match.  It will prevent out-of-bound access in case of crafted images.",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-09 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-47672",
                                "url": "https://ubuntu.com/security/CVE-2024-47672",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead  There is a WARNING in iwl_trans_wait_tx_queues_empty() (that was recently converted from just a message), that can be hit if we wait for TX queues to become empty after firmware died. Clearly, we can't expect anything from the firmware after it's declared dead.  Don't call iwl_trans_wait_tx_queues_empty() in this case. While it could be a good idea to stop the flow earlier, the flush functions do some maintenance work that is not related to the firmware, so keep that part of the code running even when the firmware is not running.  [edit commit message]",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-10-09 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-46853",
                                "url": "https://ubuntu.com/security/CVE-2024-46853",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: nxp-fspi: fix the KASAN report out-of-bounds bug  Change the memcpy length to fix the out-of-bounds issue when writing the data that is not 4 byte aligned to TX FIFO.  To reproduce the issue, write 3 bytes data to NOR chip.  dd if=3b of=/dev/mtd0 [   36.926103] ================================================================== [   36.933409] BUG: KASAN: slab-out-of-bounds in nxp_fspi_exec_op+0x26ec/0x2838 [   36.940514] Read of size 4 at addr ffff00081037c2a0 by task dd/455 [   36.946721] [   36.948235] CPU: 3 UID: 0 PID: 455 Comm: dd Not tainted 6.11.0-rc5-gc7b0e37c8434 #1070 [   36.956185] Hardware name: Freescale i.MX8QM MEK (DT) [   36.961260] Call trace: [   36.963723]  dump_backtrace+0x90/0xe8 [   36.967414]  show_stack+0x18/0x24 [   36.970749]  dump_stack_lvl+0x78/0x90 [   36.974451]  print_report+0x114/0x5cc [   36.978151]  kasan_report+0xa4/0xf0 [   36.981670]  __asan_report_load_n_noabort+0x1c/0x28 [   36.986587]  nxp_fspi_exec_op+0x26ec/0x2838 [   36.990800]  spi_mem_exec_op+0x8ec/0xd30 [   36.994762]  spi_mem_no_dirmap_read+0x190/0x1e0 [   36.999323]  spi_mem_dirmap_write+0x238/0x32c [   37.003710]  spi_nor_write_data+0x220/0x374 [   37.007932]  spi_nor_write+0x110/0x2e8 [   37.011711]  mtd_write_oob_std+0x154/0x1f0 [   37.015838]  mtd_write_oob+0x104/0x1d0 [   37.019617]  mtd_write+0xb8/0x12c [   37.022953]  mtdchar_write+0x224/0x47c [   37.026732]  vfs_write+0x1e4/0x8c8 [   37.030163]  ksys_write+0xec/0x1d0 [   37.033586]  __arm64_sys_write+0x6c/0x9c [   37.037539]  invoke_syscall+0x6c/0x258 [   37.041327]  el0_svc_common.constprop.0+0x160/0x22c [   37.046244]  do_el0_svc+0x44/0x5c [   37.049589]  el0_svc+0x38/0x78 [   37.052681]  el0t_64_sync_handler+0x13c/0x158 [   37.057077]  el0t_64_sync+0x190/0x194 [   37.060775] [   37.062274] Allocated by task 455: [   37.065701]  kasan_save_stack+0x2c/0x54 [   37.069570]  kasan_save_track+0x20/0x3c [   37.073438]  kasan_save_alloc_info+0x40/0x54 [   37.077736]  __kasan_kmalloc+0xa0/0xb8 [   37.081515]  __kmalloc_noprof+0x158/0x2f8 [   37.085563]  mtd_kmalloc_up_to+0x120/0x154 [   37.089690]  mtdchar_write+0x130/0x47c [   37.093469]  vfs_write+0x1e4/0x8c8 [   37.096901]  ksys_write+0xec/0x1d0 [   37.100332]  __arm64_sys_write+0x6c/0x9c [   37.104287]  invoke_syscall+0x6c/0x258 [   37.108064]  el0_svc_common.constprop.0+0x160/0x22c [   37.112972]  do_el0_svc+0x44/0x5c [   37.116319]  el0_svc+0x38/0x78 [   37.119401]  el0t_64_sync_handler+0x13c/0x158 [   37.123788]  el0t_64_sync+0x190/0x194 [   37.127474] [   37.128977] The buggy address belongs to the object at ffff00081037c2a0 [   37.128977]  which belongs to the cache kmalloc-8 of size 8 [   37.141177] The buggy address is located 0 bytes inside of [   37.141177]  allocated 3-byte region [ffff00081037c2a0, ffff00081037c2a3) [   37.153465] [   37.154971] The buggy address belongs to the physical page: [   37.160559] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x89037c [   37.168596] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff) [   37.175149] page_type: 0xfdffffff(slab) [   37.179021] raw: 0bfffe0000000000 ffff000800002500 dead000000000122 0000000000000000 [   37.186788] raw: 0000000000000000 0000000080800080 00000001fdffffff 0000000000000000 [   37.194553] page dumped because: kasan: bad access detected [   37.200144] [   37.201647] Memory state around the buggy address: [   37.206460]  ffff00081037c180: fa fc fc fc fa fc fc fc fa fc fc fc fa fc fc fc [   37.213701]  ffff00081037c200: fa fc fc fc 05 fc fc fc 03 fc fc fc 02 fc fc fc [   37.220946] >ffff00081037c280: 06 fc fc fc 03 fc fc fc fc fc fc fc fc fc fc fc [   37.228186]                                ^ [   37.232473]  ffff00081037c300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [   37.239718]  ffff00081037c380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [   37.246962] ============================================================== ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-09-27 13:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-46854",
                                "url": "https://ubuntu.com/security/CVE-2024-46854",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: dpaa: Pad packets to ETH_ZLEN  When sending packets under 60 bytes, up to three bytes of the buffer following the data may be leaked. Avoid this by extending all packets to ETH_ZLEN, ensuring nothing is leaked in the padding. This bug can be reproduced by running  \t$ ping -s 11 destination",
                                "cve_priority": "medium",
                                "cve_public_date": "2024-09-27 13:15:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * focal/linux-kvm: 5.4.0-1127.136 -proposed tracker (LP: #2093775)",
                            "",
                            "  * Add list of source files to linux-buildinfo (LP: #2086606)",
                            "    - [Packaging] kvm: Add dwarfdump dependency",
                            "",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233)",
                            "    - [Config] kvm: updateconfigs to select PROC_MEM_ALWAYS_FORCE",
                            "",
                            "  [ Ubuntu: 5.4.0-207.227 ]",
                            "",
                            "  * focal/linux: 5.4.0-207.227 -proposed tracker (LP: #2095347)",
                            "  * Remove \"ftrace: Fix possible use-after-free issue in ftrace_location()\" bad",
                            "    commit from focal (LP: #2095348)",
                            "    - Revert \"ftrace: Fix possible use-after-free issue in ftrace_location()\"",
                            "",
                            "  [ Ubuntu: 5.4.0-206.226 ]",
                            "",
                            "  * focal/linux: 5.4.0-206.226 -proposed tracker (LP: #2093785)",
                            "  * nouveau keeps showing `disp: ctrl 00000080` and crippling the system",
                            "    (LP: #2078011)",
                            "    - drm/nouveau/disp/gv100-: halt NV_PDISP_FE_RM_INTR_STAT_CTRL_DISP_ERROR",
                            "      storms",
                            "    - drm/nouveau/kms/gv100-: move window ownership setup into modesetting path",
                            "    - drm/nouveau/kms/gv100-: avoid sending a core update until the first modeset",
                            "  * CVE-2024-43863",
                            "    - drm/vmwgfx: Fix a deadlock in dma buf fence polling",
                            "  * CVE-2024-40911",
                            "    - wifi: cfg80211: Lock wiphy in cfg80211_get_station",
                            "  * CVE-2024-35896",
                            "    - netfilter: validate user input for expected length",
                            "    - netfilter: complete validation of user input",
                            "  * CVE-2023-52458",
                            "    - block: add check that partition length needs to be aligned with block size",
                            "  * kernel:nft \"Could not process rule: Device or resource busy\" on unreferenced",
                            "    chain (LP: #2089699)",
                            "    - SAUCE: netfilter: nf_tables: Fix EBUSY on deleting unreferenced chain",
                            "  * CVE-2024-35887",
                            "    - lockdep: Add preemption enabled/disabled assertion APIs",
                            "    - timers: Don't block on ->expiry_lock for TIMER_IRQSAFE timers",
                            "    - Documentation: Remove bogus claim about del_timer_sync()",
                            "    - ARM: spear: Do not use timer namespace for timer_shutdown() function",
                            "    - clocksource/drivers/arm_arch_timer: Do not use timer namespace for",
                            "      timer_shutdown() function",
                            "    - clocksource/drivers/sp804: Do not use timer namespace for timer_shutdown()",
                            "      function",
                            "    - timers: Get rid of del_singleshot_timer_sync()",
                            "    - timers: Replace BUG_ON()s",
                            "    - timers: Rename del_timer() to timer_delete()",
                            "    - Documentation: Replace del_timer/del_timer_sync()",
                            "    - timers: Silently ignore timers with a NULL function",
                            "    - timers: Split [try_to_]del_timer[_sync]() to prepare for shutdown mode",
                            "    - timers: Add shutdown mechanism to the internal functions",
                            "    - timers: Provide timer_shutdown[_sync]()",
                            "    - timers: Update the documentation to reflect on the new timer_shutdown() API",
                            "    - ax25: fix use-after-free bugs caused by ax25_ds_del_timer",
                            "  * CVE-2024-40965",
                            "    - clk: Add a devm variant of clk_rate_exclusive_get()",
                            "    - clk: Provide !COMMON_CLK dummy for devm_clk_rate_exclusive_get()",
                            "    - i2c: lpi2c: Avoid calling clk_get_rate during transfer",
                            "  * CVE-2024-40982",
                            "    - ssb: Fix potential NULL pointer dereference in ssb_device_uevent()",
                            "  * CVE-2024-41066",
                            "    - ibmvnic: Add tx check to prevent skb leak",
                            "  * CVE-2024-42252",
                            "    - closures: Change BUG_ON() to WARN_ON()",
                            "  * CVE-2024-46731",
                            "    - drm/amd/pm: fix the Out-of-bounds read warning",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558)",
                            "    - arm64: dts: rockchip: Fix rt5651 compatible value on rk3399-sapphire-",
                            "      excavator",
                            "    - arm64: dts: rockchip: Remove hdmi's 2nd interrupt on rk3328",
                            "    - arm64: dts: rockchip: Fix bluetooth properties on Rock960 boards",
                            "    - arm64: dts: rockchip: Remove #cooling-cells from fan on Theobroma lion",
                            "    - ARM: dts: rockchip: fix rk3036 acodec node",
                            "    - ARM: dts: rockchip: drop grf reference from rk3036 hdmi",
                            "    - ARM: dts: rockchip: Fix the spi controller on rk3036",
                            "    - ARM: dts: rockchip: Fix the realtek audio codec on rk3036-kylin",
                            "    - enetc: simplify the return expression of enetc_vf_set_mac_addr()",
                            "    - net: enetc: set MAC address to the VF net_device",
                            "    - can: c_can: fix {rx,tx}_errors statistics",
                            "    - media: stb0899_algo: initialize cfr before using it",
                            "    - media: dvb_frontend: don't play tricks with underflow values",
                            "    - media: adv7604: prevent underflow condition when reporting colorspace",
                            "    - ALSA: firewire-lib: fix return value on fail in amdtp_tscm_init()",
                            "    - pwm: imx-tpm: Use correct MODULO value for EPWM mode",
                            "    - drm/amdgpu: prevent NULL pointer dereference if ATIF is not supported",
                            "    - dm cache: correct the number of origin blocks to match the target length",
                            "    - dm cache: optimize dirty bit checking with find_next_bit when resizing",
                            "    - dm-unstriped: cast an operand to sector_t to prevent potential uint32_t",
                            "      overflow",
                            "    - mtd: rawnand: protect access to rawnand devices while in suspend",
                            "    - spi: fix use-after-free of the add_lock mutex",
                            "    - media: uvcvideo: Skip parsing frames of type UVC_VS_UNDEFINED in",
                            "      uvc_parse_format",
                            "    - fs/proc: fix compile warning about variable 'vmcore_mmap_ops'",
                            "    - USB: serial: qcserial: add support for Sierra Wireless EM86xx",
                            "    - USB: serial: option: add Fibocom FG132 0x0112 composition",
                            "    - USB: serial: option: add Quectel RG650V",
                            "    - irqchip/gic-v3: Force propagation of the active state with a read-back",
                            "    - ALSA: usb-audio: Support jack detection on Dell dock",
                            "    - ALSA: usb-audio: Add quirks for Dell WD19 dock",
                            "    - NFSD: Fix NFSv4's PUTPUBFH operation",
                            "    - ALSA: usb-audio: Add endianness annotations",
                            "    - 9p: Avoid creating multiple slab caches with the same name",
                            "    - HID: multitouch: Add quirk for HONOR MagicBook Art 14 touchpad",
                            "    - bpf: use kvzmalloc to allocate BPF verifier environment",
                            "    - sound: Make CONFIG_SND depend on INDIRECT_IOMEM instead of UML",
                            "    - powerpc/powernv: Free name on error in opal_event_init()",
                            "    - fs: Fix uninitialized value issue in from_kuid and from_kgid",
                            "    - net: usb: qmi_wwan: add Fibocom FG132 0x0112 composition",
                            "    - md/raid10: improve code of mrdev in raid10_sync_request",
                            "    - mm: clarify a confusing comment for remap_pfn_range()",
                            "    - mm: fix ambiguous comments for better code readability",
                            "    - mm/memory.c: make remap_pfn_range() reject unaligned addr",
                            "    - mm: add remap_pfn_range_notrack",
                            "    - 9p: fix slab cache name creation for real",
                            "    - Linux 5.4.286",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-47674",
                            "    - mm: avoid leaving partial pfn mappings around in error case",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-38588",
                            "    - ftrace: Fix possible use-after-free issue in ftrace_location()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50265",
                            "    - ocfs2: remove entry once instead of null-ptr-dereference in",
                            "      ocfs2_xa_remove()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50267",
                            "    - USB: serial: io_edgeport: fix use after free in debug printk",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50269",
                            "    - usb: musb: sunxi: Fix accessing an released usb phy",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2021-47469",
                            "    - spi: Fix deadlock when adding SPI controllers on SPI buses",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50273",
                            "    - btrfs: reinitialize delayed ref list after deleting it from the list",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-53066",
                            "    - nfs: Fix KMSAN warning in decode_getfattr_attrs()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50278",
                            "    - dm cache: fix potential out-of-bounds access on the first resume",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50279",
                            "    - dm cache: fix out-of-bounds access to the dirty bitset when resizing",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50282",
                            "    - drm/amdgpu: add missing size check in amdgpu_debugfs_gprwave_read()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50287",
                            "    - media: v4l2-tpg: prevent the risk of a division by zero",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50290",
                            "    - media: cx24116: prevent overflows on SNR calculus",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-53061",
                            "    - media: s5p-jpeg: prevent buffer overflows",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-53063",
                            "    - media: dvbdev: prevent the risk of out of memory access",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50296",
                            "    - net: hns3: fix kernel crash when uninstalling driver",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50299",
                            "    - sctp: properly validate chunk size in sctp_sf_ootb()",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50301",
                            "    - security/keys: fix slab-out-of-bounds in key_task_permission",
                            "  * Focal update: v5.4.286 upstream stable release (LP: #2089558) //",
                            "    CVE-2024-50302",
                            "    - HID: core: zero-initialize the report buffer",
                            "  * Add list of source files to linux-buildinfo (LP: #2086606)",
                            "    - [Packaging] Sort build dependencies alphabetically",
                            "    - [Packaging] Add list of used source files to buildinfo package",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233)",
                            "    - usbnet: ipheth: fix carrier detection in modes 1 and 4",
                            "    - net: ethernet: use ip_hdrlen() instead of bit shift",
                            "    - net: phy: vitesse: repair vsc73xx autonegotiation",
                            "    - scripts: kconfig: merge_config: config files: add a trailing newline",
                            "    - arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399",
                            "      Puma",
                            "    - ice: fix accounting for filters shared by multiple VSIs",
                            "    - net/mlx5e: Add missing link modes to ptys2ethtool_map",
                            "    - net: ftgmac100: Enable TX interrupt to avoid TX timeout",
                            "    - soundwire: stream: Revert \"soundwire: stream: fix programming slave ports",
                            "      for non-continous port maps\"",
                            "    - selftests: breakpoints: Fix a typo of function name",
                            "    - ASoC: allow module autoloading for table db1200_pids",
                            "    - ALSA: hda/realtek - Fixed ALC256 headphone no sound",
                            "    - ALSA: hda/realtek - FIxed ALC285 headphone no sound",
                            "    - pinctrl: at91: make it work with current gpiolib",
                            "    - microblaze: don't treat zero reserved memory regions as error",
                            "    - net: ftgmac100: Ensure tx descriptor updates are visible",
                            "    - wifi: iwlwifi: mvm: fix iwl_mvm_max_scan_ie_fw_cmd_room()",
                            "    - ASoC: tda7419: fix module autoloading",
                            "    - drm: komeda: Fix an issue related to normalized zpos",
                            "    - spi: bcm63xx: Enable module autoloading",
                            "    - x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency",
                            "    - USB: serial: pl2303: add device id for Macrosilicon MS3020",
                            "    - ACPI: PMIC: Remove unneeded check in tps68470_pmic_opregion_probe()",
                            "    - wifi: ath9k: fix parameter check in ath9k_init_debug()",
                            "    - wifi: ath9k: Remove error checks when creating debugfs entries",
                            "    - fs: explicitly unregister per-superblock BDIs",
                            "    - mount: warn only once about timestamp range expiration",
                            "    - fs/namespace: fnic: Switch to use %ptTd",
                            "    - mount: handle OOM on mnt_warn_timestamp_expiry",
                            "    - can: j1939: use correct function name in comment",
                            "    - netfilter: nf_tables: elements with timeout below CONFIG_HZ never expire",
                            "    - netfilter: nf_tables: reject element expiration with no timeout",
                            "    - netfilter: nf_tables: reject expiration higher than timeout",
                            "    - wifi: cfg80211: fix UBSAN noise in cfg80211_wext_siwscan()",
                            "    - wifi: cfg80211: fix two more possible UBSAN-detected off-by-one errors",
                            "    - mac80211: parse radiotap header when selecting Tx queue",
                            "    - Bluetooth: btusb: Fix not handling ZPL/short-transfer",
                            "    - net: tipc: avoid possible garbage value",
                            "    - block, bfq: choose the last bfqq from merge chain in bfq_setup_cooperator()",
                            "    - block, bfq: don't break merge chain in bfq_split_bfqq()",
                            "    - spi: ppc4xx: handle irq_of_parse_and_map() errors",
                            "    - spi: ppc4xx: Avoid returning 0 when failed to parse and map IRQ",
                            "    - ARM: dts: imx7d-zii-rmu2: fix Ethernet PHY pinctrl property",
                            "    - ARM: versatile: fix OF node leak in CPUs prepare",
                            "    - reset: berlin: fix OF node leak in probe() error path",
                            "    - clocksource/drivers/qcom: Add missing iounmap() on errors in",
                            "      msm_dt_timer_init()",
                            "    - hwmon: (max16065) Fix overflows seen when writing limits",
                            "    - mtd: slram: insert break after errors in parsing the map",
                            "    - hwmon: (ntc_thermistor) fix module autoloading",
                            "    - power: supply: axp20x_battery: allow disabling battery charging",
                            "    - power: supply: axp20x_battery: Remove design from min and max voltage",
                            "    - power: supply: max17042_battery: Fix SOC threshold calc w/ no current sense",
                            "    - fbdev: hpfb: Fix an error handling path in hpfb_dio_probe()",
                            "    - mtd: powernv: Add check devm_kasprintf() returned value",
                            "    - drm/stm: Fix an error handling path in stm_drm_platform_probe()",
                            "    - drm/amdgpu: Replace one-element array with flexible-array member",
                            "    - drm/amdgpu: properly handle vbios fake edid sizing",
                            "    - drm/radeon: Replace one-element array with flexible-array member",
                            "    - drm/radeon: properly handle vbios fake edid sizing",
                            "    - drm/rockchip: vop: Allow 4096px width scaling",
                            "    - drm/rockchip: dw_hdmi: Fix reading EDID when using a forced mode",
                            "    - drm/radeon/evergreen_cs: fix int overflow errors in cs track offsets",
                            "    - drm/msm: Fix incorrect file name output in adreno_request_fw()",
                            "    - drm/msm/a5xx: disable preemption in submits by default",
                            "    - drm/msm/a5xx: properly clear preemption records on resume",
                            "    - drm/msm/a5xx: fix races in preemption evaluation stage",
                            "    - ipmi: docs: don't advertise deprecated sysfs entries",
                            "    - drm/msm: fix %s null argument error",
                            "    - drivers:drm:exynos_drm_gsc:Fix wrong assignment in gsc_bind()",
                            "    - xen: use correct end address of kernel for conflict checking",
                            "    - xen/swiotlb: add alignment check for dma buffers",
                            "    - selftests/bpf: Fix compile error from rlim_t in sk_storage_map.c",
                            "    - selftests/bpf: Fix compiling flow_dissector.c with musl-libc",
                            "    - selftests/bpf: Fix compiling tcp_rtt.c with musl-libc",
                            "    - selftests/bpf: Fix error compiling test_lru_map.c",
                            "    - xz: cleanup CRC32 edits from 2018",
                            "    - kthread: add kthread_work tracepoints",
                            "    - kthread: fix task state in kthread worker if being frozen",
                            "    - ext4: clear EXT4_GROUP_INFO_WAS_TRIMMED_BIT even mount with discard",
                            "    - smackfs: Use rcu_assign_pointer() to ensure safe assignment in smk_set_cipso",
                            "    - ext4: avoid negative min_clusters in find_group_orlov()",
                            "    - ext4: return error on ext4_find_inline_entry",
                            "    - nilfs2: determine empty node blocks as corrupted",
                            "    - bpf: Fix bpf_strtol and bpf_strtoul helpers for 32bit",
                            "    - perf sched timehist: Fix missing free of session in perf_sched__timehist()",
                            "    - perf sched timehist: Fixed timestamp error when unable to confirm event",
                            "      sched_in time",
                            "    - perf time-utils: Fix 32-bit nsec parsing",
                            "    - clk: rockchip: Set parent rate for DCLK_VOP clock on RK3228",
                            "    - PCI: xilinx-nwl: Fix register misspelling",
                            "    - pinctrl: single: fix missing error code in pcs_probe()",
                            "    - clk: ti: dra7-atl: Fix leak of of_nodes",
                            "    - pinctrl: mvebu: Fix devinit_dove_pinctrl_probe function",
                            "    - watchdog: imx_sc_wdt: Don't disable WDT in suspend",
                            "    - RDMA/hns: Optimize hem allocation performance",
                            "    - riscv: Fix fp alignment bug in perf_callchain_user()",
                            "    - f2fs: enhance to update i_mode and acl atomically in f2fs_setattr()",
                            "    - f2fs: fix typo",
                            "    - f2fs: fix to update i_ctime in __f2fs_setxattr()",
                            "    - f2fs: remove unneeded check condition in __f2fs_setxattr()",
                            "    - f2fs: reduce expensive checkpoint trigger frequency",
                            "    - iio: adc: ad7606: fix oversampling gpio array",
                            "    - iio: adc: ad7606: fix standby gpio state to match the documentation",
                            "    - coresight: tmc: sg: Do not leak sg_table",
                            "    - net: qrtr: Update packets cloning when broadcasting",
                            "    - netfilter: ctnetlink: compile ctnetlink_label_size with",
                            "      CONFIG_NF_CONNTRACK_EVENTS",
                            "    - Remove *.orig pattern from .gitignore",
                            "    - soc: versatile: integrator: fix OF node leak in probe() error path",
                            "    - drm/amd/display: Round calculated vtotal",
                            "    - USB: appledisplay: close race between probe and completion handler",
                            "    - USB: misc: cypress_cy7c63: check for short transfer",
                            "    - USB: class: CDC-ACM: fix race between get_serial and set_serial",
                            "    - tty: rp2: Fix reset with non forgiving PCIe host bridges",
                            "    - drbd: Fix atomicity violation in drbd_uuid_set_bm()",
                            "    - drbd: Add NULL check for net_conf to prevent dereference in state validation",
                            "    - ACPI: resource: Add another DMI match for the TongFang GMxXGxx",
                            "    - wifi: rtw88: 8822c: Fix reported RX band width",
                            "    - debugobjects: Fix conditions in fill_pool()",
                            "    - f2fs: prevent possible int overflow in dir_block_index()",
                            "    - f2fs: avoid potential int overflow in sanity_check_area_boundary()",
                            "    - hwrng: mtk - Use devm_pm_runtime_enable",
                            "    - fs: Fix file_set_fowner LSM hook inconsistencies",
                            "    - nfs: fix memory leak in error path of nfs4_do_reclaim",
                            "    - ASoC: meson: axg: extract sound card utils",
                            "    - [Config] updateconfigs for SND_MESON_CARD_UTILS",
                            "    - PCI: xilinx-nwl: Use irq_data_get_irq_chip_data()",
                            "    - PCI: xilinx-nwl: Fix off-by-one in INTx IRQ handler",
                            "    - soc: versatile: realview: fix memory leak during device remove",
                            "    - soc: versatile: realview: fix soc_dev leak during device remove",
                            "    - usb: yurex: Replace snprintf() with the safer scnprintf() variant",
                            "    - USB: misc: yurex: fix race between read and write",
                            "    - pps: remove usage of the deprecated ida_simple_xx() API",
                            "    - pps: add an error check in parport_attach",
                            "    - mm: only enforce minimum stack gap size if it's sensible",
                            "    - i2c: aspeed: Update the stop sw state when the bus recovery occurs",
                            "    - i2c: isch: Add missed 'else'",
                            "    - usb: yurex: Fix inconsistent locking bug in yurex_read()",
                            "    - mailbox: rockchip: fix a typo in module autoloading",
                            "    - Minor fixes to the CAIF Transport drivers Kconfig file",
                            "    - drivers: net: Fix Kconfig indentation, continued",
                            "    - ieee802154: Fix build error",
                            "    - net/mlx5: Added cond_resched() to crdump collection",
                            "    - netfilter: uapi: NFTA_FLOWTABLE_HOOK is NLA_NESTED",
                            "    - net: ieee802154: mcr20a: Use IRQF_NO_AUTOEN flag in request_irq()",
                            "    - Bluetooth: btmrvl_sdio: Refactor irq wakeup",
                            "    - Bluetooth: btmrvl: Use IRQF_NO_AUTOEN flag in request_irq()",
                            "    - ipv4: ip_gre: Fix drops of small packets in ipgre_xmit",
                            "    - ALSA: hda/realtek: Fix the push button function for the ALC257",
                            "    - ALSA: hda/generic: Unconditionally prefer preferred_dacs pairs",
                            "    - ALSA: hda/conexant: Fix conflicting quirk for System76 Pangolin",
                            "    - wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats()",
                            "    - ice: Adjust over allocation of memory in ice_sched_add_root_node() and",
                            "      ice_sched_add_node()",
                            "    - net: hisilicon: hip04: fix OF node leak in probe()",
                            "    - net: hisilicon: hns_dsaf_mac: fix OF node leak in hns_mac_get_info()",
                            "    - net: hisilicon: hns_mdio: fix OF node leak in probe()",
                            "    - ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails",
                            "    - ACPICA: Fix memory leak if acpi_ps_get_next_field() fails",
                            "    - net: sched: consistently use rcu_replace_pointer() in taprio_change()",
                            "    - wifi: rtw88: select WANT_DEV_COREDUMP",
                            "    - ACPI: EC: Do not release locks during operation region accesses",
                            "    - net: mvpp2: Increase size of queue_name buffer",
                            "    - ipv4: Check !in_dev earlier for ioctl(SIOCSIFADDR).",
                            "    - ipv4: Mask upper DSCP bits and ECN bits in NETLINK_FIB_LOOKUP family",
                            "    - tcp: avoid reusing FIN_WAIT2 when trying to find port in connect() process",
                            "    - ACPICA: iasl: handle empty connection_node",
                            "    - proc: add config & param to block forcing mem writes",
                            "    - [Config] updateconfigs to select PROC_MEM_ALWAYS_FORCE",
                            "    - nfp: Use IRQF_NO_AUTOEN flag in request_irq()",
                            "    - signal: Replace BUG_ON()s",
                            "    - ALSA: hdsp: Break infinite MIDI input flush loop",
                            "    - x86/syscall: Avoid memcpy() for ia32 syscall_get_arguments()",
                            "    - power: reset: brcmstb: Do not go into infinite loop if reset fails",
                            "    - ata: sata_sil: Rename sil_blacklist to sil_quirks",
                            "    - jfs: UBSAN: shift-out-of-bounds in dbFindBits",
                            "    - drm/printer: Allow NULL data in devcoredump printer",
                            "    - scsi: aacraid: Rearrange order of struct aac_srb_unit",
                            "    - drm/radeon/r100: Handle unknown family in r100_cp_init_microcode()",
                            "    - of/irq: Refer to actual buffer size in of_irq_parse_one()",
                            "    - ext4: ext4_search_dir should return a proper error",
                            "    - spi: s3c64xx: fix timeout counters in flush_fifo",
                            "    - selftests: breakpoints: use remaining time to check if suspend succeed",
                            "    - selftests: vDSO: fix vDSO symbols lookup for powerpc64",
                            "    - i2c: xiic: Wait for TX empty to avoid missed TX NAKs",
                            "    - firmware: tegra: bpmp: Drop unused mbox_client_to_bpmp()",
                            "    - spi: bcm63xx: Fix module autoloading",
                            "    - perf/core: Fix small negative period being ignored",
                            "    - parisc: Fix itlb miss handler for 64-bit programs",
                            "    - drm: Consistently use struct drm_mode_rect for FB_DAMAGE_CLIPS",
                            "    - ALSA: core: add isascii() check to card ID generator",
                            "    - ext4: propagate errors from ext4_find_extent() in ext4_insert_range()",
                            "    - ext4: fix incorrect tid assumption in __jbd2_log_wait_for_space()",
                            "    - ext4: fix incorrect tid assumption in ext4_wait_for_tail_page_commit()",
                            "    - parisc: Fix 64-bit userspace syscall path",
                            "    - parisc: Fix stack start for ADDR_NO_RANDOMIZE personality",
                            "    - of/irq: Support #msi-cells=<0> in of_msi_get_domain",
                            "    - mm: krealloc: consider spare memory for __GFP_ZERO",
                            "    - ocfs2: fix the la space leak when unmounting an ocfs2 volume",
                            "    - ocfs2: fix uninit-value in ocfs2_get_block()",
                            "    - riscv: define ILLEGAL_POINTER_VALUE for 64bit",
                            "    - clk: rockchip: fix error for unknown clocks",
                            "    - media: sun4i_csi: Implement link validate for sun4i_csi subdev",
                            "    - media: uapi/linux/cec.h: cec_msg_set_reply_to: zero flags",
                            "    - iio: magnetometer: ak8975: Fix reading for ak099xx sensors",
                            "    - tomoyo: fallback to realpath if symlink's pathname does not exist",
                            "    - rtc: at91sam9: fix OF node leak in probe() error path",
                            "    - Input: adp5589-keys - fix adp5589_gpio_get_value()",
                            "    - ACPI: resource: Add Asus Vivobook X1704VAP to irq1_level_low_skip_override[]",
                            "    - ACPI: resource: Add Asus ExpertBook B2502CVA to",
                            "      irq1_level_low_skip_override[]",
                            "    - gpio: davinci: fix lazy disable",
                            "    - i2c: qcom-geni: Let firmware specify irq trigger flags",
                            "    - i2c: qcom-geni: Grow a dev pointer to simplify code",
                            "    - i2c: qcom-geni: Use IRQF_NO_AUTOEN flag in request_irq()",
                            "    - arm64: Add Cortex-715 CPU part definition",
                            "    - arm64: cputype: Add Neoverse-N3 definitions",
                            "    - arm64: errata: Expand speculative SSBS workaround once more",
                            "    - nfsd: use ktime_get_seconds() for timestamps",
                            "    - nfsd: fix delegation_blocked() to block correctly for at least 30 seconds",
                            "    - clk: qcom: rpmh: Simplify clk_rpmh_bcm_send_cmd()",
                            "    - clk: qcom: clk-rpmh: Fix overflow in BCM vote",
                            "    - r8169: Fix spelling mistake: \"tx_underun\" -> \"tx_underrun\"",
                            "    - ACPI: battery: Simplify battery hook locking",
                            "    - ext4: fix inode tree inconsistency caused by ENOMEM",
                            "    - net: ethernet: cortina: Drop TSO support",
                            "    - tracing: Remove precision vsnprintf() check from print event",
                            "    - drm/crtc: fix uninitialized variable use even harder",
                            "    - tracing: Have saved_cmdlines arrays all in one allocation",
                            "    - virtio_console: fix misc probe bugs",
                            "    - Input: synaptics-rmi4 - fix UAF of IRQ domain on driver removal",
                            "    - bpf: Check percpu map value size first",
                            "    - s390/facility: Disable compile time optimization for decompressor code",
                            "    - s390/mm: Add cond_resched() to cmm_alloc/free_pages()",
                            "    - ext4: nested locking for xattr inode",
                            "    - s390/cpum_sf: Remove WARN_ON_ONCE statements",
                            "    - ktest.pl: Avoid false positives with grub2 skip regex",
                            "    - clk: bcm: bcm53573: fix OF node leak in init",
                            "    - PCI: Add ACS quirk for Qualcomm SA8775P",
                            "    - i2c: i801: Use a different adapter-name for IDF adapters",
                            "    - PCI: Mark Creative Labs EMU20k2 INTx masking as broken",
                            "    - media: videobuf2-core: clear memory related fields in",
                            "      __vb2_plane_dmabuf_put()",
                            "    - usb: chipidea: udc: enable suspend interrupt after usb reset",
                            "    - usb: dwc2: Adjust the timing of USB Driver Interrupt Registration in the",
                            "      Crashkernel Scenario",
                            "    - tools/iio: Add memory allocation failure check for trigger_name",
                            "    - driver core: bus: Return -EIO instead of 0 when show/store invalid bus",
                            "      attribute",
                            "    - ice: fix VLAN replay after reset",
                            "    - SUNRPC: Fix integer overflow in decode_rc_list()",
                            "    - tcp: fix to allow timestamp undo if no retransmits were sent",
                            "    - tcp: fix tcp_enter_recovery() to zero retrans_stamp when it's safe",
                            "    - gpio: aspeed: Add the flush write to ensure the write complete.",
                            "    - gpio: aspeed: Use devm_clk api to manage clock source",
                            "    - net: ibm: emac: mal: fix wrong goto",
                            "    - net: annotate lockless accesses to sk->sk_ack_backlog",
                            "    - net: annotate lockless accesses to sk->sk_max_ack_backlog",
                            "    - sctp: ensure sk_state is set to CLOSED if hashing fails in sctp_listen_start",
                            "    - locking/lockdep: Fix bad recursion pattern",
                            "    - locking/lockdep: Rework lockdep_lock",
                            "    - locking/lockdep: Avoid potential access of invalid memory in lock_class",
                            "    - lockdep: fix deadlock issue between lockdep and rcu",
                            "    - HID: plantronics: Workaround for an unexcepted opposite volume key",
                            "    - Revert \"usb: yurex: Replace snprintf() with the safer scnprintf() variant\"",
                            "    - usb: dwc3: core: Stop processing of pending events if controller is halted",
                            "    - usb: xhci: Fix problem with xhci resume from suspend",
                            "    - usb: storage: ignore bogus device raised by JieLi BR21 USB sound chip",
                            "    - hid: intel-ish-hid: Fix uninitialized variable 'rv' in",
                            "      ish_fw_xfer_direct_dma",
                            "    - arm64: probes: Fix simulate_ldr*_literal()",
                            "    - tracing/kprobes: Return EADDRNOTAVAIL when func matches several symbols",
                            "    - tracing/kprobes: Fix symbol counting logic by looking at modules as well",
                            "    - PCI: Add function 0 DMA alias quirk for Glenfly Arise chip",
                            "    - fat: fix uninitialized variable",
                            "    - s390/sclp_vt220: Convert newlines to CRLF instead of LFCR",
                            "    - KVM: s390: Change virtual to physical address access in diag 0x258 handler",
                            "    - x86/cpufeatures: Define X86_FEATURE_AMD_IBPB_RET",
                            "    - drm/vmwgfx: Handle surface check failure correctly",
                            "    - iio: dac: ltc1660: add missing select REGMAP_SPI in Kconfig",
                            "    - iio: dac: stm32-dac-core: add missing select REGMAP_MMIO in Kconfig",
                            "    - iio: adc: ti-ads8688: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig",
                            "    - iio: hid-sensors: Fix an error handling path in",
                            "      _hid_sensor_set_report_latency()",
                            "    - iio: light: opt3001: add missing full-scale range value",
                            "    - iio: proximity: mb1232: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig",
                            "    - iio: adc: ti-ads124s08: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig",
                            "    - Bluetooth: Remove debugfs directory on module init failure",
                            "    - Bluetooth: btusb: Fix regression with fake CSR controllers 0a12:0001",
                            "    - xhci: Fix incorrect stream context type macro",
                            "    - USB: serial: option: add support for Quectel EG916Q-GL",
                            "    - USB: serial: option: add Telit FN920C04 MBIM compositions",
                            "    - x86/resctrl: Annotate get_mem_config() functions as __init",
                            "    - x86/apic: Always explicitly disarm TSC-deadline timer",
                            "    - mac80211: Fix NULL ptr deref for injected rate info",
                            "    - RDMA/bnxt_re: Fix incorrect AVID type in WQE structure",
                            "    - ARM: dts: bcm2837-rpi-cm3-io3: Fix HDMI hpd-gpio pin",
                            "    - RDMA/cxgb4: Fix RDMA_CM_EVENT_UNREACHABLE error for iWARP",
                            "    - ipv4: give an IPv4 dev to blackhole_netdev",
                            "    - RDMA/bnxt_re: Return more meaningful error",
                            "    - drm/msm/dsi: fix 32-bit signed integer extension in pclk_rate calculation",
                            "    - macsec: don't increment counters for an unrelated SA",
                            "    - net: ethernet: aeroflex: fix potential memory leak in",
                            "      greth_start_xmit_gbit()",
                            "    - genetlink: hold RCU in genlmsg_mcast()",
                            "    - arm64:uprobe fix the uprobe SWBP_INSN in big-endian",
                            "    - KVM: s390: gaccess: Check if guest address is in memslot",
                            "    - jfs: Fix sanity check in dbMount",
                            "    - net: usb: usbnet: fix name regression",
                            "    - r8169: avoid unsolicited interrupts",
                            "    - posix-clock: posix-clock: Fix unbalanced locking in pc_clock_settime()",
                            "    - ALSA: hda/realtek: Update default depop procedure",
                            "    - ACPI: resource: Add LG 16T90SP to irq1_level_low_skip_override[]",
                            "    - ACPI: button: Add DMI quirk for Samsung Galaxy Book2 to fix initial lid",
                            "      detection issue",
                            "    - ALSA: hda/realtek: Add subwoofer quirk for Acer Predator G9-593",
                            "    - hv_netvsc: Fix VF namespace also in synthetic NIC NETDEV_REGISTER event",
                            "    - selinux: improve error checking in sel_write_load()",
                            "    - arm64/uprobes: change the uprobe_opcode_t typedef to fix the sparse warning",
                            "    - cgroup: Fix potential overflow issue when checking max_depth",
                            "    - wifi: mac80211: skip non-uploaded keys in ieee80211_iter_keys",
                            "    - mac80211: do drv_reconfig_complete() before restarting all",
                            "    - mac80211: Add support to trigger sta disconnect on hardware restart",
                            "    - wifi: iwlwifi: mvm: disconnect station vifs if recovery failed",
                            "    - ASoC: cs42l51: Fix some error handling paths in cs42l51_probe()",
                            "    - dt-bindings: gpu: Convert Samsung Image Rotator to dt-schema",
                            "    - gtp: simplify error handling code in 'gtp_encap_enable()'",
                            "    - gtp: allow -1 to be specified as file description from userspace",
                            "    - net: support ip generic csum processing in skb_csum_hwoffload_help",
                            "    - net: skip offload for NETIF_F_IPV6_CSUM if ipv6 header contains extension",
                            "    - drivers/misc: ti-st: Remove unneeded variable in st_tty_open",
                            "    - firmware: arm_sdei: Fix the input parameter of cpuhp_remove_state()",
                            "    - net: amd: mvme147: Fix probe banner message",
                            "    - misc: sgi-gru: Don't disable preemption in GRU driver",
                            "    - usbip: tools: Fix detach_port() invalid port error path",
                            "    - usb: phy: Fix API devm_usb_put_phy() can not release the phy",
                            "    - xhci: Fix Link TRB DMA in command ring stopped completion event",
                            "    - Revert \"driver core: Fix uevent_show() vs driver detach race\"",
                            "    - riscv: Remove unused GENERATING_ASM_OFFSETS",
                            "    - Revert \"drm/mipi-dsi: Set the fwnode for mipi_dsi_device\"",
                            "    - vt: prevent kernel-infoleak in con_font_get()",
                            "    - mac80211: always have ieee80211_sta_restart()",
                            "    - mm: krealloc: Fix MTE false alarm in __do_krealloc",
                            "    - Linux 5.4.285",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50228",
                            "    - mm: shmem: fix data-race in shmem_getattr()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50230",
                            "    - nilfs2: fix kernel bug due to missing clearing of checked flag",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50218",
                            "    - ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50229",
                            "    - nilfs2: fix potential deadlock with newly created symlinks",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50233",
                            "    - staging: iio: frequency: ad9832: fix division by zero in",
                            "      ad9832_calc_freqreg()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50234",
                            "    - wifi: iwlegacy: Clear stale interrupts before resuming device",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50236",
                            "    - wifi: ath10k: Fix memory leak in management tx",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50237",
                            "    - wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50251",
                            "    - netfilter: nft_payload: sanitize offset and length before calling",
                            "      skb_checksum()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50262",
                            "    - bpf: Fix out-of-bounds write in trie_get_next_key()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-53059",
                            "    - wifi: iwlwifi: mvm: Fix response handling in iwl_mvm_send_recovery_cmd()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50142",
                            "    - xfrm: validate new SA's prefixlen using SA family when sel.family is unset",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50116",
                            "    - nilfs2: fix kernel bug due to missing clearing of buffer delay flag",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50117",
                            "    - drm/amd: Guard against bad data for ATIF ACPI method",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50205",
                            "    - ALSA: firewire-lib: Avoid division by zero in apply_constraint_to_size()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50127",
                            "    - net: sched: fix use-after-free in taprio_change()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50167",
                            "    - be2net: fix potential memory leak in be_xmit()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50168",
                            "    - net/sun3_82586: fix potential memory leak in sun3_82586_send_packet()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50131",
                            "    - tracing: Consider the NULL character when validating the event length",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50143",
                            "    - udf: fix uninit-value use in udf_get_fileshortad",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50134",
                            "    - drm/vboxvideo: Replace fake VLA at end of vbva_mouse_pointer_shape with real",
                            "      VLA",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50194",
                            "    - arm64: probes: Fix uprobes for big-endian kernels",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50148",
                            "    - Bluetooth: bnep: fix wild-memory-access in proto_unregister",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50150",
                            "    - usb: typec: altmode should keep reference to parent",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50151",
                            "    - smb: client: fix OOBs when building SMB2_IOCTL request",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50171",
                            "    - net: systemport: fix potential memory leak in bcm_sysport_xmit()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50202",
                            "    - nilfs2: propagate directory read errors from nilfs_find_entry()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50074",
                            "    - parport: Proper fix for array out-of-bounds access",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50082",
                            "    - blk-rq-qos: fix crash on rq_qos_wait vs. rq_qos_wake_function race",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-40953",
                            "    - KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50199",
                            "    - mm/swapfile: skip HugeTLB pages for unuse_vma",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50099",
                            "    - arm64: probes: Remove broken LDR (literal) uprobe support",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50195",
                            "    - posix-clock: Fix missing timespec64 check in pc_clock_settime()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50096",
                            "    - nouveau/dmem: Fix vulnerability in migrate_to_ram upon copy error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50024",
                            "    - net: Fix an unsafe loop on the list",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49878",
                            "    - resource: fix region_intersects() vs add_memory_driver_managed()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50033",
                            "    - slip: make slhc_remember() more robust against malicious packets",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50035",
                            "    - ppp: fix ppp_async_encode() illegal access",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50039",
                            "    - net/sched: accept TCA_STAB only for root qdisc",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50040",
                            "    - igb: Do not bring the device up after non-fatal error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50044",
                            "    - Bluetooth: RFCOMM: FIX possible deadlock in rfcomm_sk_state_change",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50045",
                            "    - netfilter: br_netfilter: fix panic with metadata_dst skb",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-38544",
                            "    - RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50180",
                            "    - fbdev: sisfb: Fix strbuf array overflow",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50184",
                            "    - virtio_pmem: Check device status before requesting flush",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50059",
                            "    - ntb: ntb_hw_switchtec: Fix use after free vulnerability in",
                            "      switchtec_ntb_remove due to race condition",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50089",
                            "    - unicode: Don't special case ignorable code points",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49955",
                            "    - ACPI: battery: Fix possible crash when unregistering a battery hook",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49973",
                            "    - r8169: add tally counter fields added with RTL8125",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49975",
                            "    - uprobes: fix kernel info leak via \"[uprobes]\" vma",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49867",
                            "    - btrfs: wait for fixup workers before stopping cleaner kthread during umount",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49868",
                            "    - btrfs: fix a NULL pointer dereference when failed to start a new trasacntion",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49981",
                            "    - media: venus: fix use after free bug in venus_remove due to race condition",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49982",
                            "    - aoe: fix the potential use-after-free problem in more places",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49877",
                            "    - ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49957",
                            "    - ocfs2: fix null-ptr-deref when journal load failed.",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49965",
                            "    - ocfs2: remove unreasonable unlock in ocfs2_read_blocks",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49966",
                            "    - ocfs2: cancel dqi_sync_work before freeing oinfo",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49958",
                            "    - ocfs2: reserve space for inline xattr before attaching reflink tree",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49959",
                            "    - jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49879",
                            "    - drm: omapdrm: Add missing check for alloc_ordered_workqueue",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49882",
                            "    - ext4: fix double brelse() the buffer of the extents path",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49883",
                            "    - ext4: aovid use-after-free in ext4_ext_insert_extent()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49985",
                            "    - i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50006",
                            "    - ext4: fix i_data_sem unlock order in ext4_ind_migrate()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49892",
                            "    - drm/amd/display: Initialize get_bytes_per_element's default to 1",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49894",
                            "    - drm/amd/display: Fix index out of bounds in degamma hardware format",
                            "      translation",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49896",
                            "    - drm/amd/display: Check stream before comparing them",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49900",
                            "    - jfs: Fix uninit-value access of new_ea in ea_buffer",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49902",
                            "    - jfs: check if leafidx greater than num leaves per dmap tree",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49903",
                            "    - jfs: Fix uaf in dbFreeBits",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49924",
                            "    - fbdev: pxafb: Fix possible use after free in pxafb_task()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50007",
                            "    - ALSA: asihpi: Fix potential OOB array access",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50008",
                            "    - wifi: mwifiex: Fix memcpy() field-spanning write warning in",
                            "      mwifiex_cmd_802_11_scan_ext()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49995",
                            "    - tipc: guard against string buffer overrun",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49962",
                            "    - ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in",
                            "      acpi_db_convert_to_package()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49938",
                            "    - wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47740",
                            "    - f2fs: Require FMODE_WRITE for atomic write ioctls",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49944",
                            "    - sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49948",
                            "    - net: add more sanity checks to qdisc_pkt_len_init()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49949",
                            "    - net: avoid potential underflow in qdisc_pkt_len_init() with UFO",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49997",
                            "    - net: ethernet: lantiq_etop: fix memory disclosure",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49952",
                            "    - netfilter: nf_tables: prevent nf_skb_duplicated corruption",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-50179",
                            "    - ceph: remove the incorrect Fw reference check when dirtying pages",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49963",
                            "    - mailbox: bcm2835: Fix timeout during suspend mode",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-46849",
                            "    - ASoC: meson: axg-card: fix 'use-after-free'",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47679",
                            "    - vfs: fix race between evice_inodes() and find_inode()&iput()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49860",
                            "    - ACPI: sysfs: validate return type of _STR method",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47742",
                            "    - firmware_loader: Block path traversal",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47684",
                            "    - tcp: check skb is non-NULL in tcp_rto_delta_us()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47747",
                            "    - net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race",
                            "      Condition",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47685",
                            "    - netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47692",
                            "    - nfsd: return -EINVAL when namelen is 0",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47737",
                            "    - nfsd: call cache_put if xdr_reserve_space returns NULL",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2023-52917",
                            "    - ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47749",
                            "    - RDMA/cxgb4: Added NULL check for lookup_atid",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47696",
                            "    - RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47756",
                            "    - PCI: keystone: Fix if-statement expression in ks_pcie_quirk()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47697",
                            "    - drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47698",
                            "    - drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47757",
                            "    - nilfs2: fix potential oob read in nilfs_btree_check_delete()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47699",
                            "    - nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47701",
                            "    - ext4: avoid OOB when system.data xattr changes underneath the filesystem",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-49851",
                            "    - tpm: Clean up TPM space after command failure",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47723",
                            "    - jfs: fix out-of-bounds in dbNextAG() and diAlloc()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47706",
                            "    - block, bfq: fix possible UAF for bfqq->bic with merge chain",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47709",
                            "    - can: bcm: Clear bo->bcm_proc_read after remove_proc_entry().",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47710",
                            "    - sock_map: Add a cond_resched() in sock_hash_free()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47712",
                            "    - wifi: wilc1000: fix potential RCU dereference issue in",
                            "      wilc_parse_join_bss_param",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47713",
                            "    - wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47671",
                            "    - USB: usbtmc: prevent kernel-usb-infoleak",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-44931",
                            "    - gpio: prevent potential speculation leaks in gpio_device_get_desc()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-41016",
                            "    - ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47670",
                            "    - ocfs2: add bounds checking to ocfs2_xattr_find_entry()",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-47672",
                            "    - wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-46853",
                            "    - spi: nxp-fspi: fix the KASAN report out-of-bounds bug",
                            "  * Focal update: v5.4.285 upstream stable release (LP: #2089233) //",
                            "    CVE-2024-46854",
                            "    - net: dpaa: Pad packets to ETH_ZLEN",
                            ""
                        ],
                        "package": "linux-kvm",
                        "version": "5.4.0-1127.136",
                        "urgency": "medium",
                        "distributions": "focal",
                        "launchpad_bugs_fixed": [
                            2093775,
                            2086606,
                            2089233,
                            2095347,
                            2095348,
                            2093785,
                            2078011,
                            2089699,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2089558,
                            2086606,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233,
                            2089233
                        ],
                        "author": "Koichiro Den <koichiro.den@canonical.com>",
                        "date": "Thu, 06 Feb 2025 23:47:16 +0900"
                    }
                ],
                "notes": "linux-modules-5.4.0-1127-kvm version '5.4.0-1127.136' (source package linux-kvm version '5.4.0-1127.136') was added. linux-modules-5.4.0-1127-kvm version '5.4.0-1127.136' has the same source package name, linux-kvm, as removed package linux-headers-5.4.0-1126-kvm. As such we can use the source package version of the removed package, '5.4.0-1126.134', 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."
            }
        ],
        "snap": []
    },
    "removed": {
        "deb": [
            {
                "name": "linux-headers-5.4.0-1126-kvm",
                "from_version": {
                    "source_package_name": "linux-kvm",
                    "source_package_version": "5.4.0-1126.134",
                    "version": "5.4.0-1126.134"
                },
                "to_version": {
                    "source_package_name": null,
                    "source_package_version": null,
                    "version": null
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [],
                "notes": null
            },
            {
                "name": "linux-image-5.4.0-1126-kvm",
                "from_version": {
                    "source_package_name": "linux-signed-kvm",
                    "source_package_version": "5.4.0-1126.134",
                    "version": "5.4.0-1126.134"
                },
                "to_version": {
                    "source_package_name": null,
                    "source_package_version": null,
                    "version": null
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [],
                "notes": null
            },
            {
                "name": "linux-kvm-headers-5.4.0-1126",
                "from_version": {
                    "source_package_name": "linux-kvm",
                    "source_package_version": "5.4.0-1126.134",
                    "version": "5.4.0-1126.134"
                },
                "to_version": {
                    "source_package_name": null,
                    "source_package_version": null,
                    "version": null
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [],
                "notes": null
            },
            {
                "name": "linux-modules-5.4.0-1126-kvm",
                "from_version": {
                    "source_package_name": "linux-kvm",
                    "source_package_version": "5.4.0-1126.134",
                    "version": "5.4.0-1126.134"
                },
                "to_version": {
                    "source_package_name": null,
                    "source_package_version": null,
                    "version": null
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [],
                "notes": null
            }
        ],
        "snap": []
    },
    "notes": "Changelog diff for Ubuntu 20.04 focal image from release image serial 20250221 to 20250301",
    "from_series": "focal",
    "to_series": "focal",
    "from_serial": "20250221",
    "to_serial": "20250301",
    "from_manifest_filename": "release_manifest.previous",
    "to_manifest_filename": "manifest.current"
}