Activity log for bug #577031

Date Who What changed Old value New value Message
2010-05-07 14:51:48 Nuno Lucas bug added bug
2010-05-07 14:53:30 Nuno Lucas visibility private public
2010-05-09 06:07:02 Jeremy Foshee tags needs-kernel-logs
2010-05-09 06:07:05 Jeremy Foshee tags needs-kernel-logs needs-kernel-logs needs-upstream-testing
2010-05-09 06:07:09 Jeremy Foshee tags needs-kernel-logs needs-upstream-testing kj-triage needs-kernel-logs needs-upstream-testing
2010-05-09 06:07:16 Jeremy Foshee linux (Ubuntu): status New Incomplete
2010-05-10 22:51:34 Nuno Lucas tags kj-triage needs-kernel-logs needs-upstream-testing apport-collected kj-triage needs-kernel-logs needs-upstream-testing
2010-05-10 22:51:38 Nuno Lucas description This bug applies to 2.6.32 mainstream kernel. Kernel bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=15925 I'm adding this bug here because I tested with Ubuntu 10.04 so I know it also affects it. I'm checking the "security vulnerability" box because it can result in leaked file contents from removed files, but I'm no security expert so I may be wrong. The text on that bugzilla entry follows: -------------------------------- There is a bad regression of the CIFS driver on 2.6.32 kernels (tested 2.6.32.11, 2.6.32.12 and Ubuntu 10.04 LTS 2.6.32-22-generic). The version of the server doesn't seem to matter (tested 2.6.27, 2.6.32 and Ubuntu 8.04 LTS 2.6.24-27-generic), as long as the client is 2.6.32-something. Empty files created on the server become non-empty (with the contents of some earlier written file) when read by the client. This happens when using lockf() and without using it. The following bash script shows the problem: -----------< test-cifs.sh >------------------------ #!/bin/bash while [ 1 ]; do rnd=$(( $RANDOM % 2 + 1 )) if [ -f $rnd ]; then v=$( cat $rnd ) if [ -n "$v" -a "$v" != "$rnd" ]; then echo "ERROR!!! rnd=$rnd val=$v" exit -1 fi rm -f $rnd else touch $rnd echo $rnd > $rnd fi done -----------< test-cifs.sh >------------------------ When this script runs both on the server and on the client on the same shared directory, after a few seconds (sometimes almost right away), the client will exit with the error. In a nutshell, the script creates a random (1 or 2) empty file if it doesn't exist, else makes sure it's content are either empty or the same as the file name. After the check removes the file. The script running on the server will never fail, as expected, but the client will sometimes see the file with the wrong contents. This only occurs when the client is running 2.6.32 (.11-12 or the Ubuntu 10.04 one). Any other kernel version I tested will work as expected. A workaround we found for this problem is to never delete the file, just truncate it's size to zero. In this way the problem doesn't show. Replacing the 'rm -f $rnd' with 'echo -n "" > $rnd', is the script equivalent of this workaround. I haven't tested 2.6.33 yet because we will have to work with 2.6.32 for the time being, so it's not a solution for me. I'm available for any further information. This bug applies to 2.6.32 mainstream kernel. Kernel bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=15925 I'm adding this bug here because I tested with Ubuntu 10.04 so I know it also affects it. I'm checking the "security vulnerability" box because it can result in leaked file contents from removed files, but I'm no security expert so I may be wrong. The text on that bugzilla entry follows: -------------------------------- There is a bad regression of the CIFS driver on 2.6.32 kernels (tested 2.6.32.11, 2.6.32.12 and Ubuntu 10.04 LTS 2.6.32-22-generic). The version of the server doesn't seem to matter (tested 2.6.27, 2.6.32 and Ubuntu 8.04 LTS 2.6.24-27-generic), as long as the client is 2.6.32-something. Empty files created on the server become non-empty (with the contents of some earlier written file) when read by the client. This happens when using lockf() and without using it. The following bash script shows the problem: -----------< test-cifs.sh >------------------------ #!/bin/bash while [ 1 ]; do rnd=$(( $RANDOM % 2 + 1 )) if [ -f $rnd ]; then v=$( cat $rnd ) if [ -n "$v" -a "$v" != "$rnd" ]; then echo "ERROR!!! rnd=$rnd val=$v" exit -1 fi rm -f $rnd else touch $rnd echo $rnd > $rnd fi done -----------< test-cifs.sh >------------------------ When this script runs both on the server and on the client on the same shared directory, after a few seconds (sometimes almost right away), the client will exit with the error. In a nutshell, the script creates a random (1 or 2) empty file if it doesn't exist, else makes sure it's content are either empty or the same as the file name. After the check removes the file. The script running on the server will never fail, as expected, but the client will sometimes see the file with the wrong contents. This only occurs when the client is running 2.6.32 (.11-12 or the Ubuntu 10.04 one). Any other kernel version I tested will work as expected. A workaround we found for this problem is to never delete the file, just truncate it's size to zero. In this way the problem doesn't show. Replacing the 'rm -f $rnd' with 'echo -n "" > $rnd', is the script equivalent of this workaround. I haven't tested 2.6.33 yet because we will have to work with 2.6.32 for the time being, so it's not a solution for me. I'm available for any further information. --- AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21. AplayDevices: **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC269 Analog [ALC269 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 Architecture: i386 ArecordDevices: **** List of CAPTURE Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC269 Analog [ALC269 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 AudioDevicesInUse: USER PID ACCESS COMMAND /dev/snd/controlC0: lucas 1227 F.... pulseaudio CRDA: Error: [Errno 2] No such file or directory Card0.Amixer.info: Card hw:0 'Intel'/'HDA Intel at 0xf7eb8000 irq 16' Mixer name : 'Realtek ALC269' Components : 'HDA:10ec0269,1043834a,00100004' Controls : 12 Simple ctrls : 7 DistroRelease: Ubuntu 10.04 HibernationDevice: RESUME=UUID=13e381ff-38f3-4280-9fc0-2c8e8df0ece8 InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release i386 (20091028.5) MachineType: ASUSTeK Computer INC. 1000HE Package: linux (not installed) ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-22-generic root=UUID=5932f02c-dae7-458d-9c70-e9531fd95401 ro quiet splash ProcEnviron: PATH=(custom, user) LANG=en_US.utf8 SHELL=/bin/bash ProcVersionSignature: Ubuntu 2.6.32-22.33-generic 2.6.32.11+drm33.2 Regression: Yes RelatedPackageVersions: linux-firmware 1.34 Reproducible: Yes StagingDrivers: rt2860sta Tags: lucid filesystem regression-release needs-upstream-testing staging Title: [STAGING] Uname: Linux 2.6.32-22-generic i686 UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare dmi.bios.date: 07/23/2009 dmi.bios.vendor: American Megatrends Inc. dmi.bios.version: 1002 dmi.board.asset.tag: To Be Filled By O.E.M. dmi.board.name: 1000HE dmi.board.vendor: ASUSTeK Computer INC. dmi.board.version: x.xx dmi.chassis.asset.tag: 0x00000000 dmi.chassis.type: 10 dmi.chassis.vendor: ASUSTek Computer INC. dmi.chassis.version: x.x dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr1002:bd07/23/2009:svnASUSTeKComputerINC.:pn1000HE:pvrx.x:rvnASUSTeKComputerINC.:rn1000HE:rvrx.xx:cvnASUSTekComputerINC.:ct10:cvrx.x: dmi.product.name: 1000HE dmi.product.version: x.x dmi.sys.vendor: ASUSTeK Computer INC.
2010-05-10 22:51:43 Nuno Lucas attachment added AlsaDevices.txt http://launchpadlibrarian.net/48241010/AlsaDevices.txt
2010-05-10 22:51:47 Nuno Lucas attachment added BootDmesg.txt http://launchpadlibrarian.net/48241011/BootDmesg.txt
2010-05-10 22:51:55 Nuno Lucas attachment added Card0.Amixer.values.txt http://launchpadlibrarian.net/48241013/Card0.Amixer.values.txt
2010-05-10 22:51:59 Nuno Lucas attachment added Card0.Codecs.codec.0.txt http://launchpadlibrarian.net/48241015/Card0.Codecs.codec.0.txt
2010-05-10 22:52:06 Nuno Lucas attachment added CurrentDmesg.txt http://launchpadlibrarian.net/48241016/CurrentDmesg.txt
2010-05-10 22:52:10 Nuno Lucas attachment added IwConfig.txt http://launchpadlibrarian.net/48241017/IwConfig.txt
2010-05-10 22:52:13 Nuno Lucas attachment added Lspci.txt http://launchpadlibrarian.net/48241042/Lspci.txt
2010-05-10 22:52:18 Nuno Lucas attachment added Lsusb.txt http://launchpadlibrarian.net/48241045/Lsusb.txt
2010-05-10 22:52:23 Nuno Lucas attachment added PciMultimedia.txt http://launchpadlibrarian.net/48241046/PciMultimedia.txt
2010-05-10 22:52:26 Nuno Lucas attachment added ProcCpuinfo.txt http://launchpadlibrarian.net/48241047/ProcCpuinfo.txt
2010-05-10 22:52:30 Nuno Lucas attachment added ProcInterrupts.txt http://launchpadlibrarian.net/48241048/ProcInterrupts.txt
2010-05-10 22:52:35 Nuno Lucas attachment added ProcModules.txt http://launchpadlibrarian.net/48241052/ProcModules.txt
2010-05-10 22:52:39 Nuno Lucas attachment added RfKill.txt http://launchpadlibrarian.net/48241057/RfKill.txt
2010-05-10 22:52:45 Nuno Lucas attachment added UdevDb.txt http://launchpadlibrarian.net/48241058/UdevDb.txt
2010-05-10 22:52:55 Nuno Lucas attachment added UdevLog.txt http://launchpadlibrarian.net/48241062/UdevLog.txt
2010-05-10 22:52:59 Nuno Lucas attachment added WifiSyslog.txt http://launchpadlibrarian.net/48241063/WifiSyslog.txt
2010-05-10 22:54:20 Nuno Lucas tags apport-collected kj-triage needs-kernel-logs needs-upstream-testing apport-collected kj-triage needs-kernel-logs
2010-05-10 22:55:30 Nuno Lucas linux (Ubuntu): status Incomplete New
2010-06-05 10:08:05 Jamie Strandboge bug watch added http://bugzilla.kernel.org/show_bug.cgi?id=15925
2010-06-05 10:08:05 Jamie Strandboge bug task added linux
2010-07-05 14:17:45 Marc Deslauriers linux (Ubuntu): status New Confirmed
2010-07-05 14:19:28 Marc Deslauriers bug added subscriber Ubuntu Bugs
2011-01-24 08:23:37 Bug Watch Updater linux: status Unknown Won't Fix
2011-02-03 13:55:48 Bug Watch Updater linux: importance Unknown High
2011-04-27 19:54:47 Jamie Strandboge linux (Ubuntu): status Confirmed Won't Fix