diff --git a/.cvsignore b/.cvsignore
index 3eb06e8..8bdcd3c 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1 @@
-valgrind-3.2.1.tar.bz2
+valgrind-3.2.3.tar.bz2
diff --git a/sources b/sources
index 0850c3c..a6f9be5 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-9407d33961186814cef0e6ecedfd6318  valgrind-3.2.1.tar.bz2
+978847992b136c8d8cb5c6559a91df1c  valgrind-3.2.3.tar.bz2
diff --git a/valgrind-3.2.3-cachegrind-improvements.patch b/valgrind-3.2.3-cachegrind-improvements.patch
index d8d6799..42f9158 100644
--- a/valgrind-3.2.3-cachegrind-improvements.patch
+++ b/valgrind-3.2.3-cachegrind-improvements.patch
@@ -1,5 +1,5 @@
---- valgrind-3.2.3/cg_sim.c.jj	2007-01-08 02:43:10.000000000 -0500
-+++ valgrind-3.2.3/cg_sim.c	2007-02-13 07:15:46.000000000 -0500
+--- valgrind-3.2.3/cachegrind/cg_sim.c.jj	2007-01-08 02:43:10.000000000 -0500
++++ valgrind-3.2.3/cachegrind/cg_sim.c	2007-02-13 07:15:46.000000000 -0500
 @@ -42,29 +42,32 @@ typedef struct {
     Int          size;                   /* bytes */
     Int          assoc;
diff --git a/valgrind-3.2.3-openat.patch b/valgrind-3.2.3-openat.patch
new file mode 100644
index 0000000..254e942
--- /dev/null
+++ b/valgrind-3.2.3-openat.patch
@@ -0,0 +1,49 @@
+Testcase:
+#define _GNU_SOURCE
+#include <fcntl.h>
+#include <unistd.h>
+
+int
+main (void)
+{
+  int dfd = open ("/tmp", O_RDONLY);
+  int fd1 = openat (dfd, "abc", O_RDONLY);
+  int fd2 = openat (0x12345678, "/tmp/abc", O_RDONLY);
+  int fd3 = openat (AT_FDCWD, "abc", O_RDONLY);
+  /* This is the only one that should warn.  */
+  int fd4 = openat (0x12345678, "abc", O_RDONLY);
+  return 0;
+}
+
+--- valgrind-3.2.3/include/vki-linux.h.jj	2006-08-28 15:38:37.000000000 +0200
++++ valgrind-3.2.3/include/vki-linux.h	2006-09-26 18:29:00.000000000 +0200
+@@ -1223,6 +1223,8 @@ struct vki_dirent {
+ 
+ #define VKI_F_NOTIFY	(VKI_F_LINUX_SPECIFIC_BASE+2)
+ 
++#define VKI_AT_FDCWD	-100
++
+ //----------------------------------------------------------------------
+ // From linux-2.6.8.1/include/linux/sysctl.h
+ //----------------------------------------------------------------------
+--- valgrind-3.2.3/coregrind/m_syswrap/syswrap-linux.c.jj	2006-08-28 15:38:57.000000000 +0200
++++ valgrind-3.2.3/coregrind/m_syswrap/syswrap-linux.c	2006-09-26 18:42:04.000000000 +0200
+@@ -2350,10 +2350,15 @@ PRE(sys_openat)
+                     int, dfd, const char *, filename, int, flags);
+    }
+ 
+-   if (!ML_(fd_allowed)(ARG1, "openat", tid, False))
++   PRE_MEM_RASCIIZ( "openat(filename)", ARG2 );
++
++   /* For absolute filenames, dfd is ignored.  If dfd is AT_FDCWD,
++      filename is relative to cwd.  */   
++   if (ML_(safe_to_deref)( (void*)ARG2, 1 )
++       && *(Char *)ARG2 != '/'
++       && ARG1 != VKI_AT_FDCWD
++       && !ML_(fd_allowed)(ARG1, "openat", tid, False))
+       SET_STATUS_Failure( VKI_EBADF );
+-   else
+-      PRE_MEM_RASCIIZ( "openat(filename)", ARG2 );
+ 
+    /* Handle the case where the open is of /proc/self/cmdline or
+       /proc/<pid>/cmdline, and just give it a copy of the fd for the
diff --git a/valgrind.spec b/valgrind.spec
index 784562a..ab7ad1f 100644
--- a/valgrind.spec
+++ b/valgrind.spec
@@ -1,17 +1,11 @@
 Summary: Tool for finding memory management bugs in programs
 Name: valgrind
-Version: 3.2.1
-Release: 7
+Version: 3.2.3
+Release: 1
 Epoch: 1
 Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2
-Patch1: valgrind-3.2.0-makefile.patch
-Patch2: valgrind-3.2.1-openat.patch
-Patch3: valgrind-3.2.1-cfa-set-loc.patch
-Patch4: valgrind-3.2.1-glibc25.patch
-Patch5: valgrind-3.2.1-ppc-pagesize.patch
-Patch6: valgrind-3.2.1-intel-cache-sizes.patch
-Patch7: valgrind-3.2.1-pkg-config.patch
-Patch8: valgrind-3.2.1-cachegrind-improvements.patch
+Patch1: valgrind-3.2.3-openat.patch
+Patch2: valgrind-3.2.3-cachegrind-improvements.patch
 License: GPL
 URL: http://www.valgrind.org/
 Group: Development/Debuggers
@@ -42,12 +36,6 @@ find/diagnose.
 %setup -q
 %patch1 -p1
 %patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
 
 %build
 %ifarch x86_64 ppc64
@@ -131,6 +119,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/valgrind*
 
 %changelog
+* Tue Feb 13 2007 Jakub Jelinek <jakub@redhat.com> 3.2.3-1
+- update to 3.2.3
+
 * Wed Nov  8 2006 Jakub Jelinek <jakub@redhat.com> 3.2.1-7
 - some cachegrind improvements (Ulrich Drepper)