lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20070315142342.GB8597@2ka.mipt.ru>
Date:	Thu, 15 Mar 2007 17:23:42 +0300
From:	Evgeniy Polyakov <johnpol@....mipt.ru>
To:	Joerg Pommnitz <pommnitz@...oo.com>
Cc:	netdev@...r.kernel.org, info-linux@...de.amd.com
Subject: Re: IPsec with aes-cbc and geode-aes driver completely freezes 2.6.20.1

On Thu, Mar 15, 2007 at 05:15:06PM +0300, Evgeniy Polyakov (johnpol@....mipt.ru) wrote:
> On Thu, Mar 15, 2007 at 06:45:33AM -0700, Joerg Pommnitz (pommnitz@...oo.com) wrote:
> > Hello all,
> > the subject line basically says it all. I was trying to offload IPsec encryption to the hardware encryption engine on my Geode LX800. The exact same setkey command works fine with software aes.
> > 
> > In case it matters: this is with a MSEP800/A board from DIGITAL-LOGIC AG (see http://www.digitallogic.com/english/products/catalog07/epic_detail.asp?id=MSEP800_L).
> > 
> > Did anybody ever succeed with Geode hardware accelerated IPsec? Did you have to do anything special?
> 
> Please enable as much kernel debugging options as possible and rerun the
> test - our mind readers are currently on vacations, so we fail to
> find a problem.
> 
> If there will not be any signs of the problem, try to add several printk
> into main geode crypto functions (there are not that many of them) or
> press various sysrq combinations to determine where stall happens.

As additional debug patch: try this one:

diff --git a/drivers/crypto/geode-aes.c b/drivers/crypto/geode-aes.c
index 6d3840e..edacc64 100644
--- a/drivers/crypto/geode-aes.c
+++ b/drivers/crypto/geode-aes.c
@@ -49,7 +49,7 @@
  *  operation in case of trouble
  */
 
-#define AES_OP_TIMEOUT    0x50000
+#define AES_OP_TIMEOUT    0x500
 
 /* Static structures */
 
@@ -91,6 +91,8 @@ do_crypt(void *src, void *dst, int len, u32 flags)
 		status = ioread32(_iobase + AES_INTR_REG);
 	while(!(status & AES_INTRA_PENDING) && --counter);
 
+	BUG_ON(!counter);
+
 	/* Clear the event */
 	iowrite32((status & 0xFF) | AES_INTRA_PENDING, _iobase + AES_INTR_REG);
 	return counter ? 0 : 1;


-- 
	Evgeniy Polyakov
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ