[Pkg-gnutls-commits] r734 - in /packages/libgcrypt11/trunk/debian: changelog patches/20_padlock.diff

ametzler at users.alioth.debian.org ametzler at users.alioth.debian.org
Sat Jul 4 12:01:01 UTC 2009


Author: ametzler
Date: Sat Jul  4 12:00:49 2009
New Revision: 734

URL: http://svn.debian.org/wsvn/pkg-gnutls/?sc=1&rev=734
Log:
Fix VIA padlock RNG inline assembly call, to avoid hitting stack smashing detection on those systems. #535456

Added:
    packages/libgcrypt11/trunk/debian/patches/20_padlock.diff
Modified:
    packages/libgcrypt11/trunk/debian/changelog

Modified: packages/libgcrypt11/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnutls/packages/libgcrypt11/trunk/debian/changelog?rev=734&op=diff
==============================================================================
--- packages/libgcrypt11/trunk/debian/changelog (original)
+++ packages/libgcrypt11/trunk/debian/changelog Sat Jul  4 12:00:49 2009
@@ -1,8 +1,10 @@
-libgcrypt11 (1.4.4-3) UNRELEASED; urgency=low
-
-  * NOT RELEASED YET
-
- -- Andreas Metzler <ametzler at debian.org>  Sat, 21 Feb 2009 14:13:54 +0100
+libgcrypt11 (1.4.4-3) unstable; urgency=low
+
+  * 20_padlock.diff: Fix stack smashing on VIA processors with Padlock RNG
+    (patch by Tomas       Mraz of Red Hat; thanks to Roberto Rosario for the
+    archaeology, forwarded from Ubuntu by Colin Watson). Closes: #535456
+
+ -- Andreas Metzler <ametzler at debian.org>  Sat, 04 Jul 2009 13:47:23 +0200
 
 libgcrypt11 (1.4.4-2) unstable; urgency=low
 

Added: packages/libgcrypt11/trunk/debian/patches/20_padlock.diff
URL: http://svn.debian.org/wsvn/pkg-gnutls/packages/libgcrypt11/trunk/debian/patches/20_padlock.diff?rev=734&op=file
==============================================================================
--- packages/libgcrypt11/trunk/debian/patches/20_padlock.diff (added)
+++ packages/libgcrypt11/trunk/debian/patches/20_padlock.diff Sat Jul  4 12:00:49 2009
@@ -1,0 +1,33 @@
+Description: Fix VIA padlock RNG inline assembly call, to avoid hitting
+ stack smashing detection on those systems. Patch by Tomas Mraz of Red Hat.
+Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libgcrypt11/+bug/389053
+Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=505724
+
+diff -Nur -x '*.orig' -x '*~' libgcrypt11-1.4.4/random/rndhw.c libgcrypt11-1.4.4.new/random/rndhw.c
+--- libgcrypt11-1.4.4/random/rndhw.c	2008-09-03 11:04:43.000000000 +0100
++++ libgcrypt11-1.4.4.new/random/rndhw.c	2009-07-02 11:27:38.000000000 +0100
+@@ -41,7 +41,7 @@
+ poll_padlock (void (*add)(const void*, size_t, enum random_origins),
+               enum random_origins origin, int fast)
+ {
+-  char buffer[64+8] __attribute__ ((aligned (8)));
++  volatile char buffer[64+8] __attribute__ ((aligned (8)));
+   char *p;
+   unsigned int nbytes, status;
+   
+@@ -55,12 +55,11 @@
+   nbytes = 0;
+   while (nbytes < 64)
+     {
+-      asm volatile 
++      asm volatile
+         ("movl %1, %%edi\n\t"         /* Set buffer.  */
+          "xorl %%edx, %%edx\n\t"      /* Request up to 8 bytes.  */
+-         ".byte 0x0f, 0xa7, 0xc0\n\t" /* XSTORE RNG. */
+-         "movl %%eax, %0\n"           /* Return the status.  */
+-         : "=g" (status)
++         ".byte 0x0f, 0xa7, 0xc0\n"   /* XSTORE RNG. */
++         : "=a" (status)
+          : "g" (p)
+          : "%edx", "%edi", "cc"
+          );




More information about the Pkg-gnutls-commits mailing list