Red Hat Bugzilla – Bug 235994
rm can segfault when racing another rm to delete a directory
Last modified: 2008-05-21 11:16:09 EDT
+++ This bug was initially created as a clone of Bug #235401 +++
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):
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)
One of the 'rm's will segfault.
Neither of the 'rm's would segfault.
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.
-- Additional comment from email@example.com on 2007-04-05 11:54 EST --
Created an attachment (id=151772)
Patch to fix rm segfault
This request was evaluated by Red Hat Product Management for
inclusion in a Red Hat Enterprise Linux release. Since this
bugzilla is in a component that is not approved for the current
release, it has been closed with resolution deferred. You may
reopen this bugzilla for consideration in the next release.
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release. Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.