In the Linux kernel, the following vulnerability has been resolved: f2fs: quota: fix to avoid warning in dquotwritebackdquots() F2FS-fs (dm-59): checkpoint=enable has some unwritten data. ------------[ cut here ]------------ WARNING: CPU: 6 PID: 8013 at fs/quota/dquot.c:691 dquotwritebackdquots+0x2fc/0x308 pc : dquotwritebackdquots+0x2fc/0x308 lr : f2fsquotasync+0xcc/0x1c4 Call trace: dquotwritebackdquots+0x2fc/0x308 f2fsquotasync+0xcc/0x1c4 f2fswritecheckpoint+0x3d4/0x9b0 f2fsissuecheckpoint+0x1bc/0x2c0 f2fssyncfs+0x54/0x150 f2fsdosyncfile+0x2f8/0x814 _f2fsioctl+0x1960/0x3244 f2fsioctl+0x54/0xe0 _arm64sysioctl+0xa8/0xe4 invokesyscall+0x58/0x114 checkpoint and f2fsremount may race as below, resulting triggering warning in dquotwritebackdquots(). atomic write remount - doremount - downwrite(&sb->sumount); - f2fsremount - ioctl - f2fsdosyncfile - f2fssyncfs - f2fswritecheckpoint - blockoperations - locked = downreadtrylock(&sbi->sb->sumount) : fail to lock due to the write lock was held by remount - upwrite(&sb->sumount); - f2fsquotasync - dquotwritebackdquots - WARNONONCE(!rwsemislocked(&sb->sumount)) : trigger warning because sumount lock was unlocked by remount If checkpoint comes from mount/umount/remount/freeze/quotactl, caller of checkpoint has already held sumount lock, calling dquotwritebackdquots() in the context should be safe. So let's record task to sbi->umountlock_holder, so that checkpoint can know whether the lock has held in the context or not by checking current w/ it. In addition, in order to not misrepresent caller of checkpoint, we should not allow to trigger async checkpoint for those callers: mount/umount/remount/ freeze/quotactl.
{ "binaries": [ { "binary_name": "linux-buildinfo-6.14.0-1005-oem", "binary_version": "6.14.0-1005.5" }, { "binary_name": "linux-headers-6.14.0-1005-oem", "binary_version": "6.14.0-1005.5" }, { "binary_name": "linux-image-unsigned-6.14.0-1005-oem", "binary_version": "6.14.0-1005.5" }, { "binary_name": "linux-image-unsigned-6.14.0-1005-oem-dbgsym", "binary_version": "6.14.0-1005.5" }, { "binary_name": "linux-modules-6.14.0-1005-oem", "binary_version": "6.14.0-1005.5" }, { "binary_name": "linux-modules-ipu6-6.14.0-1005-oem", "binary_version": "6.14.0-1005.5" }, { "binary_name": "linux-modules-ipu7-6.14.0-1005-oem", "binary_version": "6.14.0-1005.5" }, { "binary_name": "linux-modules-iwlwifi-6.14.0-1005-oem", "binary_version": "6.14.0-1005.5" }, { "binary_name": "linux-modules-usbio-6.14.0-1005-oem", "binary_version": "6.14.0-1005.5" }, { "binary_name": "linux-modules-vision-6.14.0-1005-oem", "binary_version": "6.14.0-1005.5" }, { "binary_name": "linux-oem-6.14-headers-6.14.0-1005", "binary_version": "6.14.0-1005.5" }, { "binary_name": "linux-oem-6.14-tools-6.14.0-1005", "binary_version": "6.14.0-1005.5" }, { "binary_name": "linux-tools-6.14.0-1005-oem", "binary_version": "6.14.0-1005.5" } ], "availability": "No subscription required", "ubuntu_priority": "medium" }
{ "binaries": [ { "binary_name": "bpftool", "binary_version": "7.6.0+6.14.0-22.22" }, { "binary_name": "linux-bpf-dev", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-buildinfo-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-buildinfo-6.14.0-22-generic-64k", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-cloud-tools-6.14.0-22", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-cloud-tools-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-cloud-tools-common", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-doc", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-headers-6.14.0-22", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-headers-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-headers-6.14.0-22-generic-64k", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-image-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-image-6.14.0-22-generic-dbgsym", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-image-unsigned-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-image-unsigned-6.14.0-22-generic-64k", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-image-unsigned-6.14.0-22-generic-64k-dbgsym", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-image-unsigned-6.14.0-22-generic-dbgsym", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-lib-rust-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-libc-dev", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-modules-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-modules-6.14.0-22-generic-64k", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-modules-extra-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-modules-ipu6-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-modules-ipu7-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-modules-iwlwifi-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-modules-usbio-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-modules-vision-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-perf", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-source-6.14.0", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-tools-6.14.0-22", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-tools-6.14.0-22-generic", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-tools-6.14.0-22-generic-64k", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-tools-common", "binary_version": "6.14.0-22.22" }, { "binary_name": "linux-tools-host", "binary_version": "6.14.0-22.22" } ], "availability": "No subscription required", "ubuntu_priority": "medium" }
{ "binaries": [ { "binary_name": "linux-azure-cloud-tools-6.14.0-1007", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-azure-headers-6.14.0-1007", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-azure-tools-6.14.0-1007", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-buildinfo-6.14.0-1007-azure", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-cloud-tools-6.14.0-1007-azure", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-headers-6.14.0-1007-azure", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-image-unsigned-6.14.0-1007-azure", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-image-unsigned-6.14.0-1007-azure-dbgsym", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-modules-6.14.0-1007-azure", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-modules-extra-6.14.0-1007-azure", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-tools-6.14.0-1007-azure", "binary_version": "6.14.0-1007.7" } ], "availability": "No subscription required", "ubuntu_priority": "medium" }
{ "binaries": [ { "binary_name": "linux-buildinfo-6.14.0-1008-gcp", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-buildinfo-6.14.0-1008-gcp-64k", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-gcp-headers-6.14.0-1008", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-gcp-tools-6.14.0-1008", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-headers-6.14.0-1008-gcp", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-headers-6.14.0-1008-gcp-64k", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-image-unsigned-6.14.0-1008-gcp", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-image-unsigned-6.14.0-1008-gcp-64k", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-image-unsigned-6.14.0-1008-gcp-64k-dbgsym", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-image-unsigned-6.14.0-1008-gcp-dbgsym", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-modules-6.14.0-1008-gcp", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-modules-6.14.0-1008-gcp-64k", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-modules-extra-6.14.0-1008-gcp", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-modules-extra-6.14.0-1008-gcp-64k", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-tools-6.14.0-1008-gcp", "binary_version": "6.14.0-1008.8" }, { "binary_name": "linux-tools-6.14.0-1008-gcp-64k", "binary_version": "6.14.0-1008.8" } ], "availability": "No subscription required", "ubuntu_priority": "medium" }
{ "binaries": [ { "binary_name": "linux-buildinfo-6.14.0-1007-raspi", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-headers-6.14.0-1007-raspi", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-image-6.14.0-1007-raspi", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-image-6.14.0-1007-raspi-dbgsym", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-modules-6.14.0-1007-raspi", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-raspi-headers-6.14.0-1007", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-raspi-tools-6.14.0-1007", "binary_version": "6.14.0-1007.7" }, { "binary_name": "linux-tools-6.14.0-1007-raspi", "binary_version": "6.14.0-1007.7" } ], "availability": "No subscription required", "ubuntu_priority": "medium" }
{ "binaries": [ { "binary_name": "linux-buildinfo-6.14.0-1004-realtime", "binary_version": "6.14.0-1004.4" }, { "binary_name": "linux-cloud-tools-6.14.0-1004-realtime", "binary_version": "6.14.0-1004.4" }, { "binary_name": "linux-headers-6.14.0-1004-realtime", "binary_version": "6.14.0-1004.4" }, { "binary_name": "linux-image-unsigned-6.14.0-1004-realtime", "binary_version": "6.14.0-1004.4" }, { "binary_name": "linux-image-unsigned-6.14.0-1004-realtime-dbgsym", "binary_version": "6.14.0-1004.4" }, { "binary_name": "linux-modules-6.14.0-1004-realtime", "binary_version": "6.14.0-1004.4" }, { "binary_name": "linux-modules-extra-6.14.0-1004-realtime", "binary_version": "6.14.0-1004.4" }, { "binary_name": "linux-modules-iwlwifi-6.14.0-1004-realtime", "binary_version": "6.14.0-1004.4" }, { "binary_name": "linux-realtime-cloud-tools-6.14.0-1004", "binary_version": "6.14.0-1004.4" }, { "binary_name": "linux-realtime-headers-6.14.0-1004", "binary_version": "6.14.0-1004.4" }, { "binary_name": "linux-realtime-tools-6.14.0-1004", "binary_version": "6.14.0-1004.4" }, { "binary_name": "linux-tools-6.14.0-1004-realtime", "binary_version": "6.14.0-1004.4" } ], "availability": "No subscription required", "ubuntu_priority": "medium" }
{ "binaries": [ { "binary_name": "linux-buildinfo-6.14.0-22-generic", "binary_version": "6.14.0-22.22.1" }, { "binary_name": "linux-headers-6.14.0-22-generic", "binary_version": "6.14.0-22.22.1" }, { "binary_name": "linux-image-6.14.0-22-generic", "binary_version": "6.14.0-22.22.1" }, { "binary_name": "linux-image-6.14.0-22-generic-dbgsym", "binary_version": "6.14.0-22.22.1" }, { "binary_name": "linux-modules-6.14.0-22-generic", "binary_version": "6.14.0-22.22.1" }, { "binary_name": "linux-riscv-headers-6.14.0-22", "binary_version": "6.14.0-22.22.1" }, { "binary_name": "linux-riscv-tools-6.14.0-22", "binary_version": "6.14.0-22.22.1" }, { "binary_name": "linux-tools-6.14.0-22-generic", "binary_version": "6.14.0-22.22.1" } ], "availability": "No subscription required", "ubuntu_priority": "medium" }