hi! for a few days i'm trying to catch a race condition which is apparently existing within cryptoloop. the situation: - suspending a virtual machine within vmware will result in a bulk transfer of the VM memory to the filesystem which resides on cryptoloop device. (98% reproducible) - cp -a /non-cryptoloop-fs /cryptoloop-fs (just occoured once) the symptoms: kupdated and kjournald (in case the filesystem is ext3) will stall as uninterruptable task. frequently other tasks lock too, like syslogd or X, but kupdated is the most likely one. please notice this also happends on ext2, ext3 and without any filesystem at all, even with CRYPTO_ATOMIC enabled in cryptoloop.c. there is no race on a plain loop device without encryption, so my guess is the problem lies within cryptoloop.c. i'd be happy if someone could have a look at that. unfortunately i can't provide a simple program which triggers that bug. even with a few fifos and interprocess communication to force some task switches the race is not reproducible easily, but vmware will crash the box almost for sure. regards, clemens p.s.: if you're going to try vmware, make sure you have more than 192mb memory for your virtual machine assigned. the bug seems to be triggered at about 140mb. smaller memory configuration won't trigger that bug.
Attachment:
pgp00028.pgp
Description: PGP signature