rpms/kernel/F-11 via-padlock-60-fix-aes-oops.patch, NONE, 1.1.2.1 kernel.spec, 1.1784.2.9, 1.1784.2.10

Chuck Ebbert cebbert at fedoraproject.org
Sat Jan 30 21:00:38 UTC 2010


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29833

Modified Files:
      Tag: private-fedora-11-2_6_30
	kernel.spec 
Added Files:
      Tag: private-fedora-11-2_6_30
	via-padlock-60-fix-aes-oops.patch 
Log Message:
Fix oops in VIA padlock driver (#521265)

via-padlock-60-fix-aes-oops.patch:
 padlock-aes.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- NEW FILE via-padlock-60-fix-aes-oops.patch ---
>From e8edb3cbd7dd8acf6c748a02d06ec1d82c4124ea Mon Sep 17 00:00:00 2001
From: Chuck Ebbert <cebbert at redhat.com>
Date: Tue, 3 Nov 2009 10:32:03 -0500
Subject: crypto: padlock-aes - Use the correct mask when checking whether copying is required

From: Chuck Ebbert <cebbert at redhat.com>

commit e8edb3cbd7dd8acf6c748a02d06ec1d82c4124ea upstream.

Masking with PAGE_SIZE is just wrong...

Signed-off-by: Chuck Ebbert <cebbert at redhat.com>
Signed-off-by: Herbert Xu <herbert at gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

---
 drivers/crypto/padlock-aes.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/crypto/padlock-aes.c
+++ b/drivers/crypto/padlock-aes.c
@@ -236,7 +236,7 @@ static inline void ecb_crypt(const u8 *i
 	/* Padlock in ECB mode fetches at least ecb_fetch_bytes of data.
 	 * We could avoid some copying here but it's probably not worth it.
 	 */
-	if (unlikely(((unsigned long)in & PAGE_SIZE) + ecb_fetch_bytes > PAGE_SIZE)) {
+	if (unlikely(((unsigned long)in & ~PAGE_MASK) + ecb_fetch_bytes > PAGE_SIZE)) {
 		ecb_crypt_copy(in, out, key, cword, count);
 		return;
 	}
@@ -248,7 +248,7 @@ static inline u8 *cbc_crypt(const u8 *in
 			    u8 *iv, struct cword *cword, int count)
 {
 	/* Padlock in CBC mode fetches at least cbc_fetch_bytes of data. */
-	if (unlikely(((unsigned long)in & PAGE_SIZE) + cbc_fetch_bytes > PAGE_SIZE))
+	if (unlikely(((unsigned long)in & ~PAGE_MASK) + cbc_fetch_bytes > PAGE_SIZE))
 		return cbc_crypt_copy(in, out, key, iv, cword, count);
 
 	return rep_xcrypt_cbc(in, out, key, iv, cword, count);


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/kernel.spec,v
retrieving revision 1.1784.2.9
retrieving revision 1.1784.2.10
diff -u -p -r1.1784.2.9 -r1.1784.2.10
--- kernel.spec	30 Jan 2010 19:38:11 -0000	1.1784.2.9
+++ kernel.spec	30 Jan 2010 21:00:37 -0000	1.1784.2.10
@@ -734,6 +734,7 @@ Patch11030: via-padlock-20-add-x86-depen
 Patch11040: via-padlock-30-fix-might-sleep.patch
 Patch11050: via-padlock-40-nano-ecb.patch
 Patch11060: via-padlock-50-nano-cbc.patch
+Patch11065: via-padlock-60-fix-aes-oops.patch
 Patch11070: via-rng-enable-64bit.patch
 Patch11080: via-sdmmc.patch
 Patch11081: linux-2.6-x86-delay-tsc-barrier.patch
@@ -1297,6 +1298,7 @@ ApplyPatch via-padlock-20-add-x86-depend
 ApplyPatch via-padlock-30-fix-might-sleep.patch
 ApplyPatch via-padlock-40-nano-ecb.patch
 ApplyPatch via-padlock-50-nano-cbc.patch
+ApplyPatch via-padlock-60-fix-aes-oops.patch
 ApplyPatch via-rng-enable-64bit.patch
 ApplyPatch via-sdmmc.patch
 ApplyPatch linux-2.6-x86-delay-tsc-barrier.patch
@@ -2225,6 +2227,9 @@ fi
 # and build.
 
 %changelog
+* Sat Jan 30 2010 Chuck Ebbert <cebbert at redhat.com>  2.6.30.10-105.2.10
+- Fix oops in VIA padlock driver (#521265)
+
 * Sat Jan 30 2010 Chuck Ebbert <cebbert at redhat.com>  2.6.30.10-105.2.9
 - kernel: tty->pgrp races (#559100)
 



More information about the scm-commits mailing list