<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/crypto, branch v2.6.25.13</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/crypto?h=v2.6.25.13</id>
<link rel='self' href='https://git.amat.us/linux/atom/crypto?h=v2.6.25.13'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2008-07-24T16:14:10Z</updated>
<entry>
<title>crypto: chainiv - Invoke completion function</title>
<updated>2008-07-24T16:14:10Z</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2008-07-14T06:46:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c2bd04d8040a91fe2ee2e9fee1a6562ca9792249'/>
<id>urn:sha1:c2bd04d8040a91fe2ee2e9fee1a6562ca9792249</id>
<content type='text'>
Upstream commit: 872ac8743cb400192a9fce4ba2d3ffd7bb309685

When chainiv postpones requests it never calls their completion functions.
This causes symptoms such as memory leaks when IPsec is in use.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>CRYPTO: eseqiv: Fix off-by-one encryption</title>
<updated>2008-05-10T04:40:52Z</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2008-05-06T06:01:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d020055f5217be264e0bac9cd09ffc04233b9682'/>
<id>urn:sha1:d020055f5217be264e0bac9cd09ffc04233b9682</id>
<content type='text'>
[CRYPTO] eseqiv: Fix off-by-one encryption

[ Upstream commit: 46f8153cc59384eb09a426d044668d4801f818ce ]

After attaching the IV to the head during encryption, eseqiv does not
increase the encryption length by that amount.  As such the last block
of the actual plain text will be left unencrypted.

Fortunately the only user of this code hifn currently crashes so this
shouldn't affect anyone :)

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>CRYPTO: authenc: Fix async crypto crash in crypto_authenc_genicv()</title>
<updated>2008-05-10T04:40:52Z</updated>
<author>
<name>Patrick McHardy</name>
<email>kaber@trash.net</email>
</author>
<published>2008-05-06T06:01:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=054640e012028f0c10d7e7ed7a601016c9251ca5'/>
<id>urn:sha1:054640e012028f0c10d7e7ed7a601016c9251ca5</id>
<content type='text'>
[CRYPTO] authenc: Fix async crypto crash in crypto_authenc_genicv()

[ Upstream commit: 161613293fd4b7d5ceb1faab788f47e688e07a67 ]

crypto_authenc_givencrypt_done uses req-&gt;data as struct aead_givcrypt_request,
while it really points to a struct aead_request, causing this crash:

BUG: unable to handle kernel paging request at 6b6b6b6b
IP: [&lt;dc87517b&gt;] :authenc:crypto_authenc_genicv+0x23/0x109
*pde = 00000000
Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC
Modules linked in: hifn_795x authenc esp4 aead xfrm4_mode_tunnel sha1_generic hmac crypto_hash]

Pid: 3074, comm: ping Not tainted (2.6.25 #4)
EIP: 0060:[&lt;dc87517b&gt;] EFLAGS: 00010296 CPU: 0
EIP is at crypto_authenc_genicv+0x23/0x109 [authenc]
EAX: daa04690 EBX: daa046e0 ECX: dab0a100 EDX: daa046b0
ESI: 6b6b6b6b EDI: dc872054 EBP: c033ff60 ESP: c033ff0c
 DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
Process ping (pid: 3074, ti=c033f000 task=db883a80 task.ti=dab6c000)
Stack: 00000000 daa046b0 c0215a3e daa04690 dab0a100 00000000 ffffffff db9fd7f0
       dba208c0 dbbb1720 00000001 daa04720 00000001 c033ff54 c0119ca9 dc852a75
       c033ff60 c033ff60 daa046e0 00000000 00000001 c033ff6c dc87527b 00000001
Call Trace:
 [&lt;c0215a3e&gt;] ? dev_alloc_skb+0x14/0x29
 [&lt;c0119ca9&gt;] ? printk+0x15/0x17
 [&lt;dc87527b&gt;] ? crypto_authenc_givencrypt_done+0x1a/0x27 [authenc]
 [&lt;dc850cca&gt;] ? hifn_process_ready+0x34a/0x352 [hifn_795x]
 [&lt;dc8353c7&gt;] ? rhine_napipoll+0x3f2/0x3fd [via_rhine]
 [&lt;dc851a56&gt;] ? hifn_check_for_completion+0x4d/0xa6 [hifn_795x]
 [&lt;dc851ab9&gt;] ? hifn_tasklet_callback+0xa/0xc [hifn_795x]
 [&lt;c011d046&gt;] ? tasklet_action+0x3f/0x66
 [&lt;c011d230&gt;] ? __do_softirq+0x38/0x7a
 [&lt;c0105a5f&gt;] ? do_softirq+0x3e/0x71
 [&lt;c011d17c&gt;] ? irq_exit+0x2c/0x65
 [&lt;c010e0c0&gt;] ? smp_apic_timer_interrupt+0x5f/0x6a
 [&lt;c01042e4&gt;] ? apic_timer_interrupt+0x28/0x30
 [&lt;dc851640&gt;] ? hifn_handle_req+0x44a/0x50d [hifn_795x]
 ...

Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>CRYPTO: cryptd: Correct kzalloc error test</title>
<updated>2008-05-10T04:40:51Z</updated>
<author>
<name>Julia Lawall</name>
<email>julia@diku.dk</email>
</author>
<published>2008-05-06T06:01:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=84c82441c5bd034bf6a1e863eb8b51006c4cfe8c'/>
<id>urn:sha1:84c82441c5bd034bf6a1e863eb8b51006c4cfe8c</id>
<content type='text'>
[CRYPTO] cryptd: Correct kzalloc error test

[ Upstream commit: b1145ce395f7785487c128fe8faf8624e6586d84 ]

Normally, kzalloc returns NULL or a valid pointer value, not a value to be
tested using IS_ERR.

Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>[CRYPTO] xcbc: Fix crash when ipsec uses xcbc-mac with big data chunk</title>
<updated>2008-04-02T06:36:09Z</updated>
<author>
<name>Joy Latten</name>
<email>latten@austin.ibm.com</email>
</author>
<published>2008-04-02T06:36:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1edcf2e1ee2babb011cfca80ad9d202e9c491669'/>
<id>urn:sha1:1edcf2e1ee2babb011cfca80ad9d202e9c491669</id>
<content type='text'>
The kernel crashes when ipsec passes a udp packet of about 14XX bytes
of data to aes-xcbc-mac.

It seems the first xxxx bytes of the data are in first sg entry,
and remaining xx bytes are in next sg entry. But we don't 
check next sg entry to see if we need to go look the page up.

I noticed in hmac.c, we do a scatterwalk_sg_next(), to do this check
and possible lookup, thus xcbc.c needs to use this routine too.

A 15-hour run of an ipsec stress test sending streams of tcp and
udp packets of various sizes,  using this patch and 
aes-xcbc-mac completed successfully, so hopefully this fixes the
problem.
 
Signed-off-by: Joy Latten &lt;latten@austin.ibm.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>async_tx: avoid the async xor_zero_sum path when src_cnt &gt; device-&gt;max_xor</title>
<updated>2008-03-19T00:01:00Z</updated>
<author>
<name>Dan Williams</name>
<email>dan.j.williams@intel.com</email>
</author>
<published>2008-03-19T04:23:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8d8002f642886ae256a3c5d70fe8aff4faf3631a'/>
<id>urn:sha1:8d8002f642886ae256a3c5d70fe8aff4faf3631a</id>
<content type='text'>
If the channel cannot perform the operation in one call to
-&gt;device_prep_dma_zero_sum, then fallback to the xor+page_is_zero path.
This only affects users with arrays larger than 16 devices on iop13xx or
32 devices on iop3xx.

Cc: &lt;stable@kernel.org&gt;
Cc: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
</content>
</entry>
<entry>
<title>async_tx: checkpatch says s/__FUNCTION__/__func__/g</title>
<updated>2008-03-13T17:57:10Z</updated>
<author>
<name>Dan Williams</name>
<email>dan.j.williams@intel.com</email>
</author>
<published>2008-03-14T00:45:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3280ab3e8815d60cea483d49b21261972e2785d6'/>
<id>urn:sha1:3280ab3e8815d60cea483d49b21261972e2785d6</id>
<content type='text'>
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
</content>
</entry>
<entry>
<title>[CRYPTO] skcipher: Fix section mismatches</title>
<updated>2008-03-08T12:29:43Z</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2008-03-08T12:29:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f13ba2f7d3a877967477ec8f64e1dae7a967c7e2'/>
<id>urn:sha1:f13ba2f7d3a877967477ec8f64e1dae7a967c7e2</id>
<content type='text'>
The previous patch to move chainiv and eseqiv into blkcipher created
a section mismatch for the chainiv exit function which was also called
from __init.  This patch removes the __exit marking on it.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>[CRYPTO] xcbc: Fix crash with IPsec</title>
<updated>2008-03-06T11:28:44Z</updated>
<author>
<name>Joy Latten</name>
<email>latten@austin.ibm.com</email>
</author>
<published>2008-03-06T11:28:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2f40a178e70030c4712fe63807c883f34c3645eb'/>
<id>urn:sha1:2f40a178e70030c4712fe63807c883f34c3645eb</id>
<content type='text'>
When using aes-xcbc-mac for authentication in IPsec, 
the kernel crashes. It seems this algorithm doesn't 
account for the space IPsec may make in scatterlist for authtag.
Thus when crypto_xcbc_digest_update2() gets called,
nbytes may be less than sg[i].length. 
Since nbytes is an unsigned number, it wraps
at the end of the loop allowing us to go back 
into loop and causing crash in memcpy.

I used update function in digest.c to model this fix.
Please let me know if it looks ok.

Signed-off-by: Joy Latten &lt;latten@austin.ibm.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>[CRYPTO] xts: Use proper alignment</title>
<updated>2008-03-06T10:56:19Z</updated>
<author>
<name>Sebastian Siewior</name>
<email>sebastian@breakpoint.cc</email>
</author>
<published>2008-03-06T10:56:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6212f2c7f70c591efb0d9f3d50ad29112392fee2'/>
<id>urn:sha1:6212f2c7f70c591efb0d9f3d50ad29112392fee2</id>
<content type='text'>
The XTS blockmode uses a copy of the IV which is saved on the stack
and may or may not be properly aligned. If it is not, it will break
hardware cipher like the geode or padlock.
This patch encrypts the IV in place so we don't have to worry about
alignment.

Signed-off-by: Sebastian Siewior &lt;sebastian@breakpoint.cc&gt;
Tested-by: Stefan Hellermann &lt;stefan@the2masters.de&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
</feed>
