In the Linux kernel, the following vulnerability has been resolved:
staging: media: max96712: fix kernel oops when removing module
The following kernel oops is thrown when trying to remove the max96712 module:
Unable to handle kernel paging request at virtual address 00007375746174db Mem abort info: ESR = 0x0000000096000004 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x04: level 0 translation fault Data abort info: ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 CM = 0, WnR = 0, TnD = 0, TagAccess = 0 GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 user pgtable: 4k pages, 48-bit VAs, pgdp=000000010af89000 [00007375746174db] pgd=0000000000000000, p4d=0000000000000000 Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP Modules linked in: crct10dif_ce polyval_ce mxc_jpeg_encdec flexcan snd_soc_fsl_sai snd_soc_fsl_asoc_card snd_soc_fsl_micfil dwc_mipi_csi2 imx_csi_formatter polyval_generic v4l2_jpeg imx_pcm_dma can_dev snd_soc_imx_audmux snd_soc_wm8962 snd_soc_imx_card snd_soc_fsl_utils max96712(C-) rpmsg_ctrl rpmsg_char pwm_fan fuse [last unloaded: imx8_isi] CPU: 0 UID: 0 PID: 754 Comm: rmmod Tainted: G C 6.12.0-rc6-06364-g327fec852c31 #17 Tainted: [C]=CRAP Hardware name: NXP i.MX95 19X19 board (DT) pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : led_put+0x1c/0x40 lr : v4l2_subdev_put_privacy_led+0x48/0x58 sp : ffff80008699bbb0 x29: ffff80008699bbb0 x28: ffff00008ac233c0 x27: 0000000000000000 x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000 x23: ffff000080cf1170 x22: ffff00008b53bd00 x21: ffff8000822ad1c8 x20: ffff000080ff5c00 x19: ffff00008b53be40 x18: 0000000000000000 x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 x14: 0000000000000004 x13: ffff0000800f8010 x12: 0000000000000000 x11: ffff000082acf5c0 x10: ffff000082acf478 x9 : ffff0000800f8010 x8 : 0101010101010101 x7 : 7f7f7f7f7f7f7f7f x6 : fefefeff6364626d x5 : 8080808000000000 x4 : 0000000000000020 x3 : 00000000553a3dc1 x2 : ffff00008ac233c0 x1 : ffff00008ac233c0 x0 : ff00737574617473 Call trace: led_put+0x1c/0x40 v4l2_subdev_put_privacy_led+0x48/0x58 v4l2_async_unregister_subdev+0x2c/0x1a4 max96712_remove+0x1c/0x38 [max96712] i2c_device_remove+0x2c/0x9c device_remove+0x4c/0x80 device_release_driver_internal+0x1cc/0x228 driver_detach+0x4c/0x98 bus_remove_driver+0x6c/0xbc driver_unregister+0x30/0x60 i2c_del_driver+0x54/0x64 max96712_i2c_driver_exit+0x18/0x1d0 [max96712] __arm64_sys_delete_module+0x1a4/0x290 invoke_syscall+0x48/0x10c el0_svc_common.constprop.0+0xc0/0xe0 do_el0_svc+0x1c/0x28 el0_svc+0x34/0xd8 el0t_64_sync_handler+0x120/0x12c el0t_64_sync+0x190/0x194 Code: f9000bf3 aa0003f3 f9402800 f9402000 (f9403400) ---[ end trace 0000000000000000 ]---
This happens because in v4l2_i2c_subdev_init(), the i2c_set_cliendata() is called again and the data is overwritten to point to sd, instead of priv. So, in remove(), the wrong pointer is passed to v4l2_async_unregister_subdev(), leading to a crash.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Mar 17, 2025 | Mar 6, 2025 |
| Ubuntu | — | Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.11.0-1015-azureUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-generic-lpaeUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-genericUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1015-gkeopUpgrade linux-image-azure-fde-6.8Upgrade linux-image-raspi-6.8Upgrade linux-image-oem-22.04Upgrade linux-image-oracle-6.8Upgrade linux-image-6.8.0-1029-oracle-64kUpgrade linux-image-6.8.0-1031-oemUpgrade linux-image-azureUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1031-raspiUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-gkeUpgrade linux-image-6.8.0-1031-nvidia-lowlatencyUpgrade linux-image-6.8.0-64-lowlatency-64kUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-1022-azure-nvidiaUpgrade linux-image-6.8.0-1033-gcp-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-virtual-6.8Upgrade linux-image-oem-22.04dUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-64-genericUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.11.0-26-generic-64kUpgrade linux-image-6.11.0-1014-lowlatencyUpgrade linux-image-raspiUpgrade linux-image-gkeopUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-6.8.0-1028-gkeUpgrade linux-image-realtimeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.11.0-26-genericUpgrade linux-image-6.8.0-1031-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1029-oracleUpgrade linux-image-6.8.0-2026-raspi-realtimeUpgrade linux-image-gcp-6.8Upgrade linux-image-realtime-6.8.1Upgrade linux-image-gcp-64kUpgrade linux-image-generic-64kUpgrade linux-image-nvidiaUpgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-64-lowlatencyUpgrade linux-image-6.8.0-1031-nvidiaUpgrade linux-image-6.11.0-1022-oemUpgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-1032-awsUpgrade linux-image-6.8.0-1034-azure-fdeUpgrade linux-image-awsUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.11.0-1013-raspiUpgrade linux-image-oem-24.04aUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.11.0-1015-gcpUpgrade linux-image-6.11.0-1015-gcp-64kUpgrade linux-image-ibmUpgrade linux-image-6.11.0-1014-lowlatency-64kUpgrade linux-image-azure-nvidia-6.8Upgrade linux-image-6.11.0-1016-oracleUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oracle-64kUpgrade linux-image-oem-22.04aUpgrade linux-image-6.8.0-1032-aws-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oracleUpgrade linux-image-gcpUpgrade linux-image-oem-22.04bUpgrade linux-image-azure-nvidiaUpgrade linux-image-6.11.0-1016-oracle-64kUpgrade linux-image-6.11.0-1015-azure-fdeUpgrade linux-image-ibm-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-1034-azureUpgrade linux-image-gkeop-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1033-gcpUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-gke-6.8Upgrade linux-image-raspi-realtimeUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-6.8.1-1025-realtimeUpgrade linux-image-oem-22.04cUpgrade linux-image-aws-64k-6.8Upgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-6.8.0-64-generic-64kUpgrade linux-image-kvmUpgrade linux-image-6.11.0-1010-realtimeUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-generic-6.8Upgrade linux-image-generic-64k-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-virtualUpgrade linux-image-oem-24.04bUpgrade linux-image-6.11.0-1014-awsUpgrade linux-image-oem-6.8Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-aws-64kUpgrade linux-image-6.8.0-1031-nvidia-64kUpgrade linux-image-azure-nvidia-lts-24.04Upgrade linux-image-6.8.0-1029-ibm | May 21, 2025 | Mar 6, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 13, 2025 | Mar 6, 2025 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub