In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: f_fs: Remove WARN_ON in functionfs_bind
This commit addresses an issue related to below kernel panic where panic_on_warn is enabled. It is caused by the unnecessary use of WARN_ON in functionsfs_bind, which easily leads to the following scenarios.
1.adb_write in adbd 2. UDC write via configfs ================= =====================
->usb_ffs_open_thread() ->UDC write ->open_functionfs() ->configfs_write_iter() ->adb_open() ->gadget_dev_desc_UDC_store() ->adb_write() ->usb_gadget_register_driver_owner ->driver_register() ->StartMonitor() ->bus_add_driver() ->adb_read() ->gadget_bind_driver() <times-out without BIND event> ->configfs_composite_bind() ->usb_add_function() ->open_functionfs() ->ffs_func_bind() ->adb_open() ->functionfs_bind() <ffs->state !=FFS_ACTIVE>
The adb_open, adb_read, and adb_write operations are invoked from the daemon, but trying to bind the function is a process that is invoked by UDC write through configfs, which opens up the possibility of a race condition between the two paths. In this race scenario, the kernel panic occurs due to the WARN_ON from functionfs_bind when panic_on_warn is enabled. This commit fixes the kernel panic by removing the unnecessary WARN_ON.
Kernel panic - not syncing: kernel: panic_on_warn set ... [ 14.542395] Call trace: [ 14.542464] ffs_func_bind+0x1c8/0x14a8 [ 14.542468] usb_add_function+0xcc/0x1f0 [ 14.542473] configfs_composite_bind+0x468/0x588 [ 14.542478] gadget_bind_driver+0x108/0x27c [ 14.542483] really_probe+0x190/0x374 [ 14.542488] __driver_probe_device+0xa0/0x12c [ 14.542492] driver_probe_device+0x3c/0x220 [ 14.542498] __driver_attach+0x11c/0x1fc [ 14.542502] bus_for_each_dev+0x104/0x160 [ 14.542506] driver_attach+0x24/0x34 [ 14.542510] bus_add_driver+0x154/0x270 [ 14.542514] driver_register+0x68/0x104 [ 14.542518] usb_gadget_register_driver_owner+0x48/0xf4 [ 14.542523] gadget_dev_desc_UDC_store+0xf8/0x144 [ 14.542526] configfs_write_iter+0xf0/0x138
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Feb 10, 2025 | Jan 19, 2025 |
| Ubuntu | — | Upgrade linux-image-aws-fipsUpgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-135-genericUpgrade linux-image-5.15.0-1072-ibmUpgrade linux-image-5.15.0-1079-gcpUpgrade linux-image-5.4.0-1147-azureUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-oem-osp1Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-5.4.0-1140-oracleUpgrade linux-image-5.4.0-1088-ibmUpgrade linux-image-6.8.0-1026-oracleUpgrade linux-image-gkeUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-6.8.0-1028-oemUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-azureUpgrade linux-image-generic-lpaeUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-1077-oracleUpgrade linux-image-6.8.0-1028-nvidiaUpgrade linux-image-5.15.0-1074-raspiUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-oem-22.04cUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-5.15.0-1079-gcp-fipsUpgrade linux-image-6.8.0-1030-gcp-64kUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-azure-lts-22.04Upgrade linux-image-6.8.0-1028-nvidia-64kUpgrade linux-image-azure-nvidiaUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1026-ibmUpgrade linux-image-5.15.0-1062-gkeopUpgrade linux-image-5.15.0-1086-azureUpgrade linux-image-5.15.0-135-lowlatencyUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-5.15.0-135-lowlatency-64kUpgrade linux-image-5.4.0-1147-azure-fipsUpgrade linux-image-5.15.0-135-generic-64kUpgrade linux-image-5.15.0-1074-nvidiaUpgrade linux-image-oem-24.04Upgrade linux-image-azure-lts-20.04Upgrade linux-image-5.15.0-136-genericUpgrade linux-image-ibmUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-genericUpgrade linux-image-gke-5.15Upgrade linux-image-6.8.0-1029-awsUpgrade linux-image-gkeopUpgrade linux-image-5.15.0-1075-intel-iotgUpgrade linux-image-5.15.0-1084-azureUpgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-lowlatencyUpgrade linux-image-nvidia-tegraUpgrade linux-image-oem-22.04Upgrade linux-image-gcp-lts-20.04Upgrade linux-image-6.11.0-1011-awsUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-5.15.0-1073-intel-iot-realtimeUpgrade linux-image-5.15.0-1080-awsUpgrade linux-image-oem-20.04bUpgrade linux-image-5.4.0-1145-gcpUpgrade linux-image-oem-22.04aUpgrade linux-image-gcp-fipsUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-5.4.0-1142-aws-fipsUpgrade linux-image-lowlatency-64kUpgrade linux-image-oem-20.04Upgrade linux-image-6.8.0-1025-gkeUpgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-oem-20.04cUpgrade linux-image-fipsUpgrade linux-image-azure-lts-24.04Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-6.8.0-1028-nvidia-lowlatency-64kUpgrade linux-image-oemUpgrade linux-image-5.15.0-136-generic-lpaeUpgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-5.15.0-1083-azure-fipsUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1029-azureUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-6.11.0-21-genericUpgrade linux-image-raspiUpgrade linux-image-5.4.0-1129-kvmUpgrade linux-image-ibm-classicUpgrade linux-image-intelUpgrade linux-image-nvidiaUpgrade linux-image-oem-24.04bUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-5.15.0-135-fipsUpgrade linux-image-6.8.0-60-lowlatencyUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.4.0-1142-awsUpgrade linux-image-gcpUpgrade linux-image-raspi2Upgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1026-oracle-64kUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-6.8.0-1016-azure-nvidiaUpgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-5.15.0-1080-aws-fipsUpgrade linux-image-oem-22.04bUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1030-gcpUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-azure-fipsUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-5.4.0-211-lowlatencyUpgrade linux-image-gcp-64kUpgrade linux-image-5.15.0-1077-gkeUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azure-cvmUpgrade linux-image-5.15.0-1074-nvidia-lowlatencyUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-5.15.0-1080-realtimeUpgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-60-generic-64kUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-6.8.1-1022-realtimeUpgrade linux-image-6.8.0-60-lowlatency-64kUpgrade linux-image-6.8.0-1029-azure-fdeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-6.8.0-1028-nvidia-lowlatencyUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.15.0-1086-azure-fdeUpgrade linux-image-5.4.0-1060-xilinx-zynqmpUpgrade linux-image-awsUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-realtimeUpgrade linux-image-nvidia-64kUpgrade linux-image-5.4.0-1090-ibmUpgrade linux-image-5.15.0-136-generic-64kUpgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-5.15.0-1077-intel-iotgUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-oem-24.04aUpgrade linux-image-5.4.0-211-generic-lpaeUpgrade linux-image-5.15.0-1081-gcpUpgrade linux-image-6.8.0-1012-gkeopUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-6.8.0-60-genericUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-azure-fdeUpgrade linux-image-aws-lts-20.04Upgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-oem-20.04dUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-raspi-hwe-18.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-virtualUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-kvmUpgrade linux-image-gkeop-5.15Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-aws-lts-22.04Upgrade linux-image-5.4.0-1101-bluefieldUpgrade linux-image-oracle-64kUpgrade linux-image-5.4.0-1145-gcp-fipsUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-bluefieldUpgrade linux-image-5.4.0-1048-iotUpgrade linux-image-5.15.0-135-generic-lpaeUpgrade linux-image-raspi-realtimeUpgrade linux-image-5.4.0-211-generic | Mar 28, 2025 | Jan 19, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Sep 22, 2025 | Jan 19, 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