summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS6
-rw-r--r--src/chmod.c10
2 files changed, 1 insertions, 15 deletions
diff --git a/NEWS b/NEWS
index 40dadc27d..c8d2bbcf0 100644
--- a/NEWS
+++ b/NEWS
@@ -2,12 +2,6 @@ GNU coreutils NEWS -*- outline -*-
* Noteworthy changes in release ?.? (????-??-??) [?]
-** Bug fixes
-
- When recursing, chmod -R no longer gets confused into following a symlink
- if some other process simultaneously replaces a non-symlink with a symlink.
- The fix is effective on modern hosts with the fchmodat or lchmod syscalls.
- [bug introduced in the beginning]
* Noteworthy changes in release 8.16 (2012-03-26) [stable]
diff --git a/src/chmod.c b/src/chmod.c
index 2e1f1c70b..aa4ac771c 100644
--- a/src/chmod.c
+++ b/src/chmod.c
@@ -268,15 +268,7 @@ process_file (FTS *fts, FTSENT *ent)
if (! S_ISLNK (old_mode))
{
- /* Use any native support for AT_SYMLINK_NOFOLLOW, to avoid
- following a symlink if there is a race. */
- #if HAVE_FCHMODAT || HAVE_LCHMOD
- int follow_flag = AT_SYMLINK_NOFOLLOW;
- #else
- int follow_flag = 0;
- #endif
-
- if (fchmodat (fts->fts_cwd_fd, file, new_mode, follow_flag) == 0)
+ if (chmodat (fts->fts_cwd_fd, file, new_mode) == 0)
chmod_succeeded = true;
else
{