Description of problem: When deleting a deep directory tree from two different instances of "rm -rf" simultaneously, one of the instances may segfault. Version-Release number of selected component (if applicable): coreutils-5.97-12.3.fc6 Steps to Reproduce: 1. Create a deep directory tree (I used 10 levels deep) 2. From two different command lines, rm -rf the parent directory of the tree 3. Repeat (it requires tricky timing so may not always happen) Actual results: One of the 'rm's will segfault. Expected results: Neither of the 'rm's would segfault. Additional info: The problem seems to be in remove.c:remove_cwd_entries(), where opendir is called on ".". If this fails for reason of ENOENT, the function calls readdir on the NULL dirp. Patch attached.
Created attachment 151772 [details] Patch to fix rm segfault
Thanks for the patch.
Fixed in update: coreutils-5.97-12.5.fc6