about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-01-13 12:42:06 -0500
committerPetr Baudis <pasky@suse.cz>2011-02-03 20:59:00 +0100
commit83e15ff7c24784a35518451daaada04b88dd9c3e (patch)
tree9ce6f551ec76ca2c0ae484c4ebe0188a583418a0
parentf369c365c2e486195b2f0c72e750abde31dcccc9 (diff)
downloadglibc-83e15ff7c24784a35518451daaada04b88dd9c3e.tar.gz
glibc-83e15ff7c24784a35518451daaada04b88dd9c3e.tar.xz
glibc-83e15ff7c24784a35518451daaada04b88dd9c3e.zip
Fix handling of missing syscall in Linux mkdirat.
(cherry picked from commit 1086d70d916fd0eb969b3d89ff88abd35f6a5c34)
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/unix/sysv/linux/mkdirat.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 86b7749789..5525f1fa5e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2011-01-13  Ulrich Drepper  <drepper@gmail.com>
 
+	[BZ #12397]
+	* sysdeps/unix/sysv/linux/mkdirat.c (mkdirat): Fix handling of missing
+	syscall.
+
 	[BZ #10484]
 	* nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Handle overflows of
 	temporary buffer used to handle multi lookups locally.
diff --git a/sysdeps/unix/sysv/linux/mkdirat.c b/sysdeps/unix/sysv/linux/mkdirat.c
index aa89d08730..73ebbe693b 100644
--- a/sysdeps/unix/sysv/linux/mkdirat.c
+++ b/sysdeps/unix/sysv/linux/mkdirat.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -43,7 +43,7 @@ mkdirat (fd, file, mode)
     {
       res = INLINE_SYSCALL (mkdirat, 3, fd, file, mode);
 # ifndef __ASSUME_ATFCTS
-      if (res == -1 && res == ENOSYS)
+      if (res == -1 && errno == ENOSYS)
 	__have_atfcts = -1;
       else
 # endif