In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7921e: fix use-after-free in freeirq() From commit a304e1b82808 ("[PATCH] Debug shared irqs"), there is a test to make sure the shared irq handler should be able to handle the unexpected event after deregistration. For this case, let's apply MT76REMOVED flag to indicate the device was removed and do not run into the resource access anymore. BUG: KASAN: use-after-free in mt7921irqhandler+0xd8/0x100 [mt7921e] Read of size 8 at addr ffff88824a7d3b78 by task rmmod/11115 CPU: 28 PID: 11115 Comm: rmmod Tainted: G W L 5.17.0 #10 Hardware name: Micro-Star International Co., Ltd. MS-7D73/MPG B650I EDGE WIFI (MS-7D73), BIOS 1.81 01/05/2024 Call Trace: <TASK> dumpstacklvl+0x6f/0xa0 printaddressdescription.constprop.0+0x1f/0x190 ? mt7921irqhandler+0xd8/0x100 [mt7921e] ? mt7921irqhandler+0xd8/0x100 [mt7921e] kasanreport.cold+0x7f/0x11b ? mt7921irqhandler+0xd8/0x100 [mt7921e] mt7921irqhandler+0xd8/0x100 [mt7921e] freeirq+0x627/0xaa0 devmfreeirq+0x94/0xd0 ? devmrequestanycontextirq+0x160/0x160 ? kobjectput+0x18d/0x4a0 mt7921pciremove+0x153/0x190 [mt7921e] pcideviceremove+0xa2/0x1d0 _devicereleasedriver+0x346/0x6e0 driverdetach+0x1ef/0x2c0 busremovedriver+0xe7/0x2d0 ? _checkobjectsize+0x57/0x310 pciunregisterdriver+0x26/0x250 _dosysdeletemodule+0x307/0x510 ? freemodule+0x6a0/0x6a0 ? fpregsassertstateconsistent+0x4b/0xb0 ? rcureadlockschedheld+0x10/0x70 ? syscallenterfromusermode+0x20/0x70 ? tracehardirqson+0x1c/0x130 dosyscall64+0x5c/0x80 ? tracehardirqsonprepare+0x72/0x160 ? dosyscall64+0x68/0x80 ? tracehardirqsonprepare+0x72/0x160 entrySYSCALL64afterhwframe+0x44/0xae
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.8.0-35-generic", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-buildinfo-6.8.0-35-generic-64k", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-cloud-tools-6.8.0-35", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-cloud-tools-6.8.0-35-generic", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-cloud-tools-common", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-doc", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-headers-6.8.0-35", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-headers-6.8.0-35-generic", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-headers-6.8.0-35-generic-64k", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-image-6.8.0-35-generic", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-image-6.8.0-35-generic-dbgsym", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-image-unsigned-6.8.0-35-generic", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-image-unsigned-6.8.0-35-generic-64k", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-image-unsigned-6.8.0-35-generic-64k-dbgsym", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-image-unsigned-6.8.0-35-generic-dbgsym", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-lib-rust-6.8.0-35-generic", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-libc-dev", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-modules-6.8.0-35-generic", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-modules-6.8.0-35-generic-64k", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-modules-extra-6.8.0-35-generic", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-modules-ipu6-6.8.0-35-generic", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-modules-iwlwifi-6.8.0-35-generic", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-modules-usbio-6.8.0-35-generic", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-source-6.8.0", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-tools-6.8.0-35", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-tools-6.8.0-35-generic", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-tools-6.8.0-35-generic-64k", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-tools-common", "binary_version": "6.8.0-35.35" }, { "binary_name": "linux-tools-host", "binary_version": "6.8.0-35.35" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-aws-cloud-tools-6.8.0-1009", "binary_version": "6.8.0-1009.9" }, { "binary_name": "linux-aws-headers-6.8.0-1009", "binary_version": "6.8.0-1009.9" }, { "binary_name": "linux-aws-tools-6.8.0-1009", "binary_version": "6.8.0-1009.9" }, { "binary_name": "linux-buildinfo-6.8.0-1009-aws", "binary_version": "6.8.0-1009.9" }, { "binary_name": "linux-cloud-tools-6.8.0-1009-aws", "binary_version": "6.8.0-1009.9" }, { "binary_name": "linux-headers-6.8.0-1009-aws", "binary_version": "6.8.0-1009.9" }, { "binary_name": "linux-image-unsigned-6.8.0-1009-aws", "binary_version": "6.8.0-1009.9" }, { "binary_name": "linux-image-unsigned-6.8.0-1009-aws-dbgsym", "binary_version": "6.8.0-1009.9" }, { "binary_name": "linux-modules-6.8.0-1009-aws", "binary_version": "6.8.0-1009.9" }, { "binary_name": "linux-modules-extra-6.8.0-1009-aws", "binary_version": "6.8.0-1009.9" }, { "binary_name": "linux-tools-6.8.0-1009-aws", "binary_version": "6.8.0-1009.9" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-azure-cloud-tools-6.8.0-1008", "binary_version": "6.8.0-1008.8" }, { "binary_name": "linux-azure-headers-6.8.0-1008", "binary_version": "6.8.0-1008.8" }, { "binary_name": "linux-azure-tools-6.8.0-1008", "binary_version": "6.8.0-1008.8" }, { "binary_name": "linux-buildinfo-6.8.0-1008-azure", "binary_version": "6.8.0-1008.8" }, { "binary_name": "linux-cloud-tools-6.8.0-1008-azure", "binary_version": "6.8.0-1008.8" }, { "binary_name": "linux-headers-6.8.0-1008-azure", "binary_version": "6.8.0-1008.8" }, { "binary_name": "linux-image-unsigned-6.8.0-1008-azure", "binary_version": "6.8.0-1008.8" }, { "binary_name": "linux-image-unsigned-6.8.0-1008-azure-dbgsym", "binary_version": "6.8.0-1008.8" }, { "binary_name": "linux-modules-6.8.0-1008-azure", "binary_version": "6.8.0-1008.8" }, { "binary_name": "linux-modules-extra-6.8.0-1008-azure", "binary_version": "6.8.0-1008.8" }, { "binary_name": "linux-modules-iwlwifi-6.8.0-1008-azure", "binary_version": "6.8.0-1008.8" }, { "binary_name": "linux-tools-6.8.0-1008-azure", "binary_version": "6.8.0-1008.8" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.8.0-1008-gcp", "binary_version": "6.8.0-1008.9" }, { "binary_name": "linux-gcp-headers-6.8.0-1008", "binary_version": "6.8.0-1008.9" }, { "binary_name": "linux-gcp-tools-6.8.0-1008", "binary_version": "6.8.0-1008.9" }, { "binary_name": "linux-headers-6.8.0-1008-gcp", "binary_version": "6.8.0-1008.9" }, { "binary_name": "linux-image-unsigned-6.8.0-1008-gcp", "binary_version": "6.8.0-1008.9" }, { "binary_name": "linux-image-unsigned-6.8.0-1008-gcp-dbgsym", "binary_version": "6.8.0-1008.9" }, { "binary_name": "linux-modules-6.8.0-1008-gcp", "binary_version": "6.8.0-1008.9" }, { "binary_name": "linux-modules-extra-6.8.0-1008-gcp", "binary_version": "6.8.0-1008.9" }, { "binary_name": "linux-modules-iwlwifi-6.8.0-1008-gcp", "binary_version": "6.8.0-1008.9" }, { "binary_name": "linux-tools-6.8.0-1008-gcp", "binary_version": "6.8.0-1008.9" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.8.0-1004-gke", "binary_version": "6.8.0-1004.7" }, { "binary_name": "linux-gke-headers-6.8.0-1004", "binary_version": "6.8.0-1004.7" }, { "binary_name": "linux-gke-tools-6.8.0-1004", "binary_version": "6.8.0-1004.7" }, { "binary_name": "linux-headers-6.8.0-1004-gke", "binary_version": "6.8.0-1004.7" }, { "binary_name": "linux-image-unsigned-6.8.0-1004-gke", "binary_version": "6.8.0-1004.7" }, { "binary_name": "linux-image-unsigned-6.8.0-1004-gke-dbgsym", "binary_version": "6.8.0-1004.7" }, { "binary_name": "linux-modules-6.8.0-1004-gke", "binary_version": "6.8.0-1004.7" }, { "binary_name": "linux-modules-extra-6.8.0-1004-gke", "binary_version": "6.8.0-1004.7" }, { "binary_name": "linux-modules-iwlwifi-6.8.0-1004-gke", "binary_version": "6.8.0-1004.7" }, { "binary_name": "linux-tools-6.8.0-1004-gke", "binary_version": "6.8.0-1004.7" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.8.0-1006-ibm", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-headers-6.8.0-1006-ibm", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-ibm-cloud-tools-common", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-ibm-headers-6.8.0-1006", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-ibm-source-6.8.0", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-ibm-tools-6.8.0-1006", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-image-unsigned-6.8.0-1006-ibm", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-image-unsigned-6.8.0-1006-ibm-dbgsym", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-modules-6.8.0-1006-ibm", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-modules-extra-6.8.0-1006-ibm", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-modules-iwlwifi-6.8.0-1006-ibm", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-tools-6.8.0-1006-ibm", "binary_version": "6.8.0-1006.6" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.8.0-35-lowlatency", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-buildinfo-6.8.0-35-lowlatency-64k", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-cloud-tools-6.8.0-35-lowlatency", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-headers-6.8.0-35-lowlatency", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-headers-6.8.0-35-lowlatency-64k", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-image-unsigned-6.8.0-35-lowlatency", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-image-unsigned-6.8.0-35-lowlatency-64k", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-image-unsigned-6.8.0-35-lowlatency-64k-dbgsym", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-image-unsigned-6.8.0-35-lowlatency-dbgsym", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-lowlatency-cloud-tools-6.8.0-35", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-lowlatency-cloud-tools-common", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-lowlatency-headers-6.8.0-35", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-lowlatency-lib-rust-6.8.0-35-lowlatency", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-lowlatency-tools-6.8.0-35", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-lowlatency-tools-common", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-lowlatency-tools-host", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-modules-6.8.0-35-lowlatency", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-modules-6.8.0-35-lowlatency-64k", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-modules-iwlwifi-6.8.0-35-lowlatency", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-tools-6.8.0-35-lowlatency", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-tools-6.8.0-35-lowlatency-64k", "binary_version": "6.8.0-35.35.1" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.8.0-1006-oem", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-headers-6.8.0-1006-oem", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-image-unsigned-6.8.0-1006-oem", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-image-unsigned-6.8.0-1006-oem-dbgsym", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-modules-6.8.0-1006-oem", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-modules-ipu6-6.8.0-1006-oem", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-modules-iwlwifi-6.8.0-1006-oem", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-modules-usbio-6.8.0-1006-oem", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-oem-6.8-headers-6.8.0-1006", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-oem-6.8-tools-6.8.0-1006", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-tools-6.8.0-1006-oem", "binary_version": "6.8.0-1006.6" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.8.0-1006-oracle", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-buildinfo-6.8.0-1006-oracle-64k", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-headers-6.8.0-1006-oracle", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-headers-6.8.0-1006-oracle-64k", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-image-unsigned-6.8.0-1006-oracle", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-image-unsigned-6.8.0-1006-oracle-64k", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-image-unsigned-6.8.0-1006-oracle-64k-dbgsym", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-image-unsigned-6.8.0-1006-oracle-dbgsym", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-modules-6.8.0-1006-oracle", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-modules-6.8.0-1006-oracle-64k", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-modules-extra-6.8.0-1006-oracle", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-modules-extra-6.8.0-1006-oracle-64k", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-modules-iwlwifi-6.8.0-1006-oracle", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-oracle-headers-6.8.0-1006", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-oracle-tools-6.8.0-1006", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-tools-6.8.0-1006-oracle", "binary_version": "6.8.0-1006.6" }, { "binary_name": "linux-tools-6.8.0-1006-oracle-64k", "binary_version": "6.8.0-1006.6" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.8.0-1005-raspi", "binary_version": "6.8.0-1005.5" }, { "binary_name": "linux-headers-6.8.0-1005-raspi", "binary_version": "6.8.0-1005.5" }, { "binary_name": "linux-image-6.8.0-1005-raspi", "binary_version": "6.8.0-1005.5" }, { "binary_name": "linux-image-6.8.0-1005-raspi-dbgsym", "binary_version": "6.8.0-1005.5" }, { "binary_name": "linux-modules-6.8.0-1005-raspi", "binary_version": "6.8.0-1005.5" }, { "binary_name": "linux-raspi-headers-6.8.0-1005", "binary_version": "6.8.0-1005.5" }, { "binary_name": "linux-raspi-tools-6.8.0-1005", "binary_version": "6.8.0-1005.5" }, { "binary_name": "linux-tools-6.8.0-1005-raspi", "binary_version": "6.8.0-1005.5" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.8.0-35-generic", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-headers-6.8.0-35-generic", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-image-6.8.0-35-generic", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-image-6.8.0-35-generic-dbgsym", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-modules-6.8.0-35-generic", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-riscv-headers-6.8.0-35", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-riscv-tools-6.8.0-35", "binary_version": "6.8.0-35.35.1" }, { "binary_name": "linux-tools-6.8.0-35-generic", "binary_version": "6.8.0-35.35.1" } ] }
{ "availability": "Available with Ubuntu Pro: https://ubuntu.com/pro", "binaries": [ { "binary_name": "linux-buildinfo-6.8.0-2004-raspi-realtime", "binary_version": "6.8.0-2004.4" }, { "binary_name": "linux-headers-6.8.0-2004-raspi-realtime", "binary_version": "6.8.0-2004.4" }, { "binary_name": "linux-image-6.8.0-2004-raspi-realtime", "binary_version": "6.8.0-2004.4" }, { "binary_name": "linux-image-6.8.0-2004-raspi-realtime-dbgsym", "binary_version": "6.8.0-2004.4" }, { "binary_name": "linux-modules-6.8.0-2004-raspi-realtime", "binary_version": "6.8.0-2004.4" }, { "binary_name": "linux-raspi-realtime-headers-6.8.0-2004", "binary_version": "6.8.0-2004.4" }, { "binary_name": "linux-raspi-realtime-tools-6.8.0-2004", "binary_version": "6.8.0-2004.4" }, { "binary_name": "linux-tools-6.8.0-2004-raspi-realtime", "binary_version": "6.8.0-2004.4" } ] }
{ "availability": "Available with Ubuntu Pro: https://ubuntu.com/pro", "binaries": [ { "binary_name": "linux-buildinfo-6.8.1-1002-realtime", "binary_version": "6.8.1-1002.2" }, { "binary_name": "linux-cloud-tools-6.8.1-1002-realtime", "binary_version": "6.8.1-1002.2" }, { "binary_name": "linux-headers-6.8.1-1002-realtime", "binary_version": "6.8.1-1002.2" }, { "binary_name": "linux-image-unsigned-6.8.1-1002-realtime", "binary_version": "6.8.1-1002.2" }, { "binary_name": "linux-image-unsigned-6.8.1-1002-realtime-dbgsym", "binary_version": "6.8.1-1002.2" }, { "binary_name": "linux-modules-6.8.1-1002-realtime", "binary_version": "6.8.1-1002.2" }, { "binary_name": "linux-modules-extra-6.8.1-1002-realtime", "binary_version": "6.8.1-1002.2" }, { "binary_name": "linux-modules-iwlwifi-6.8.1-1002-realtime", "binary_version": "6.8.1-1002.2" }, { "binary_name": "linux-realtime-cloud-tools-6.8.1-1002", "binary_version": "6.8.1-1002.2" }, { "binary_name": "linux-realtime-headers-6.8.1-1002", "binary_version": "6.8.1-1002.2" }, { "binary_name": "linux-realtime-tools-6.8.1-1002", "binary_version": "6.8.1-1002.2" }, { "binary_name": "linux-tools-6.8.1-1002-realtime", "binary_version": "6.8.1-1002.2" } ] }