11 Jan, 2008
2 commits
-
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
[CRYPTO] padlock: Fix alignment fault in aes_crypt_copy -
The previous patch fixed spurious read faults from occuring by copying
the data if we happen to have a single block at the end of a page. It
appears that gcc cannot guarantee 16-byte alignment in the kernel with
__attribute__. The following report from Torben Viets shows a buffer
that's only 8-byte aligned:> eneral protection fault: 0000 [#1]
> Modules linked in: xt_TCPMSS xt_tcpmss iptable_mangle ipt_MASQUERADE
> xt_tcpudp xt_mark xt_state iptable_nat nf_nat nf_conntrack_ipv4
> iptable_filter ip_tables x_tables pppoe pppox af_packet ppp_generic slhc
> aes_i586
> CPU: 0
> EIP: 0060:[] Not tainted VLI
> EFLAGS: 00010292 (2.6.23.12 #7)
> EIP is at aes_crypt_copy+0x28/0x40
> eax: f7639ff0 ebx: f6c24050 ecx: 00000001 edx: f6c24030
> esi: f7e89dc8 edi: f7639ff0 ebp: 00010000 esp: f7e89dc8Since the hardware must have 16-byte alignment, the following patch fixes
this by open coding the alignment adjustment.Signed-off-by: Herbert Xu
28 Dec, 2007
2 commits
-
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
[CRYPTO] padlock: Fix spurious ECB page fault -
The xcryptecb instruction always processes an even number of blocks so
we need to ensure th existence of an extra block if we have to process
an odd number of blocks.Signed-off-by: Herbert Xu
04 Dec, 2007
1 commit
-
The previous commit ("uml: keep UML Kconfig in sync with x86") is not
enough, unfortunately. If we go that way, we need to add dependencies
on !UML for several options.Signed-off-by: Al Viro
Signed-off-by: Jeff Dike
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
11 Nov, 2007
1 commit
-
Currently the Geode AES module fails to encrypt or decrypt if
the coherent bits are not set what is currently the case if the
encryption does not occur inplace. However, the encryption works
on my Geode machine _only_ if the coherent bits are always set.Signed-off-by: Sebastian Siewior
Acked-by: Jordan Crouse
Signed-off-by: Herbert Xu
27 Oct, 2007
1 commit
-
This patch fixes the errors made in the users of the crypto layer during
the sg_init_table conversion. It also adds a few conversions that were
missing altogether.Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller
11 Oct, 2007
4 commits
-
There are currently several SHA implementations that all define their own
initialization vectors and size values. Since this values are idential
move them to a header file under include/crypto.Signed-off-by: Jan Glauber
Signed-off-by: Herbert Xu -
Loading the crypto algorithm by the alias instead of by module directly
has the advantage that all possible implementations of this algorithm
are loaded automatically and the crypto API can choose the best one
depending on its priority.Additionally it ensures that the generic implementation as well as the
HW driver (if available) is loaded in case the HW driver needs the
generic version as fallback in corner cases.Also remove the probe for sha1 in padlock's init code.
Quote from Herbert:
The probe is actually pointless since we can always probe when
the algorithm is actually used which does not lead to dead-locks
like this.Signed-off-by: Sebastian Siewior
Signed-off-by: Herbert Xu -
Loading the crypto algorithm by the alias instead of by module directly
has the advantage that all possible implementations of this algorithm
are loaded automatically and the crypto API can choose the best one
depending on its priority.Additionally it ensures that the generic implementation as well as the
HW driver (if available) is loaded in case the HW driver needs the
generic version as fallback in corner cases.Signed-off-by: Sebastian Siewior
Signed-off-by: Herbert Xu -
Hardware drivers shouldn't default to m.
Signed-off-by: Adrian Bunk
Signed-off-by: Herbert Xu
19 Aug, 2007
1 commit
-
Signed-off-by: Jan Engelhardt
Signed-off-by: Stefan Richter (edited MACINTOSH_DRIVERS per Geert Uytterhoeven's remark)
Signed-off-by: Linus Torvalds
17 Jul, 2007
1 commit
-
Use menuconfigs instead of menus, so the whole menu can be disabled at once
instead of going through all options.Signed-off-by: Jan Engelhardt
Cc: Michael Buesch
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
24 May, 2007
1 commit
-
Allow in-place crypto operations. Also remove the coherent user flag
(we use it automagically now), and by default use the user written
key rather then the HW hidden key - this makes crypto just work without
any special considerations, and thats OK, since its our only usage
model.Signed-off-by: Jordan Crouse
Signed-off-by: Herbert Xu
18 May, 2007
1 commit
-
Turning it into a boolean was unnecessary and caused ALGAPI to be
pinned down as a boolean to. This patch makes it a tristate again.Signed-off-by: Herbert Xu
10 May, 2007
1 commit
-
Disband drivers/s390/Kconfig, use the common Kconfig files. The s390
specific config options from drivers/s390/Kconfig are moved to the
respective common Kconfig files.Signed-off-by: Martin Schwidefsky
09 May, 2007
1 commit
-
Fix several typos in help text in Kconfig* files.
Signed-off-by: David Sterba
Signed-off-by: Adrian Bunk
02 May, 2007
1 commit
-
When this is compiled in it is run too early to do anything useful:
[ 6.052000] padlock: No VIA PadLock drivers have been loaded.
[ 6.052000] padlock: Using VIA PadLock ACE for AES algorithm.
[ 6.052000] padlock: Using VIA PadLock ACE for SHA1/SHA256 algorithms.When it's a module it isn't doing anything special, the same functionality
can be provided in userspace by "probeall padlock padlock-aes padlock-sha"
in modules.conf if it is required.Signed-off-by: Simon Arlott
Cc: Michal Ludvig
Signed-off-by: Herbert Xu
07 Mar, 2007
1 commit
-
Signed-off-by: Alexey Dobriyan
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
15 Feb, 2007
1 commit
-
After Al Viro (finally) succeeded in removing the sched.h #include in module.h
recently, it makes sense again to remove other superfluous sched.h includes.
There are quite a lot of files which include it but don't actually need
anything defined in there. Presumably these includes were once needed for
macros that used to live in sched.h, but moved to other header files in the
course of cleaning it up.To ease the pain, this time I did not fiddle with any header files and only
removed #includes from .c-files, which tend to cause less trouble.Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
configs in arch/arm/configs on arm. I also checked that no new warnings were
introduced by the patch (actually, some warnings are removed that were emitted
by unnecessarily included header files).Signed-off-by: Tim Schmielau
Acked-by: Russell King
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
09 Feb, 2007
1 commit
-
Conflicts:
crypto/Kconfig
07 Feb, 2007
1 commit
-
Replace uses of the obsolete pci_module_init function.
Signed-off-by: Richard Knutsson
Signed-off-by: Herbert Xu
06 Feb, 2007
1 commit
-
Starting with the z9 the CPU Cryptographic Assist Facility comes with
an integrated Pseudo Random Number Generator. The generator creates
random numbers by an algorithm similar to the ANSI X9.17 standard.
The pseudo-random numbers can be accessed via a character device driver
node called /dev/prandom. Similar to /dev/urandom any amount of bytes
can be read from the device without blocking.Signed-off-by: Jan Glauber
Signed-off-by: Martin Schwidefsky
11 Dec, 2006
1 commit
-
This driver seems to be for a PCI device.
drivers/crypto/geode-aes.c:384: warning: implicit declaration of function 'pci_release_regions'
drivers/crypto/geode-aes.c:397: warning: implicit declaration of function 'pci_request_regions'Signed-off-by: Randy Dunlap
Acked-by: Jordan Crouse
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
07 Dec, 2006
2 commits
-
On Tue, Nov 14, 2006 at 01:41:25AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.19-rc5-mm2:
>...
> git-cryptodev.patch
>...
> git trees
>...This patch makes the needlessly global geode_aes_crypt() static.
Signed-off-by: Adrian Bunk
Signed-off-by: Herbert Xu -
Add a driver to support the AES hardware on the Geode LX processor.
Signed-off-by: Jordan Crouse
Signed-off-by: Herbert Xu
21 Sep, 2006
13 commits
-
This patch converts padlock-sha to use crypto_hash for its fallback.
It also changes the fallback selection to use selection by type instead
of name. This is done through the new CRYPTO_ALG_NEED_FALLBACK bit,
which is set if and only if an algorithm needs a fallback of the same
type.Signed-off-by: Herbert Xu
-
This patch converts all users to use the new crypto_comp type and the
crypto_has_* functions.Signed-off-by: Herbert Xu
-
This patch removes obsolete block operations of the simple cipher type
from drivers. These were preserved so that existing users can make a
smooth transition. Now that the transition is complete, they are no
longer needed.Signed-off-by: Herbert Xu
-
This patch adds block cipher algorithms for cbc(aes) and ecb(aes) for
the PadLock device. Once all users to the old cipher type have been
converted the old cbc/ecb PadLock operations will be removed.Signed-off-by: Herbert Xu
-
Now that the tfm is passed directly to setkey instead of the ctx, we no
longer need to pass the &tfm->crt_flags pointer.This patch also gets rid of a few unnecessary checks on the key length
for ciphers as the cipher layer guarantees that the key length is within
the bounds specified by the algorithm.Rather than testing dia_setkey every time, this patch does it only once
during crypto_alloc_tfm. The redundant check from crypto_digest_setkey
is also removed.Signed-off-by: Herbert Xu
-
TFMs are local variables. No need to declare them
static. After all one is enough.Signed-off-by: Michal Ludvig
Signed-off-by: Herbert Xu -
Compile a helper module padlock.ko that will try
to autoload all configured padlock algorithms.This also provides backward compatibility with
the ancient times before padlock.ko was renamed
to padlock-aes.koSigned-off-by: Michal Ludvig
Signed-off-by: Herbert Xu -
This patch makes two needlessly global functions static.
Signed-off-by: Adrian Bunk
Signed-off-by: Herbert Xu -
Support for SHA1 / SHA256 algorithms in VIA C7 processors.
Signed-off-by: Michal Ludvig
Signed-off-by: Herbert Xu -
PADLOCK_CRA_PRIORITY is shared between padlock-aes and padlock-sha
so it should be in the header.On the other hand "struct cword" is only used in padlock-aes.c
so it's unnecessary to have it in padlock.hSigned-off-by: Michal Ludvig
Signed-off-by: Herbert Xu -
Whenever we rename modules we should add an alias to ensure that existing
users can still locate the new module.This patch also gets rid of the now unused module function prototypes from
padlock.h.Signed-off-by: Herbert Xu
-
Merge padlock-generic.c into padlock-aes.c and compile
AES as a standalone module. We won't make a monolithic
padlock.ko with all supported algorithms, instead we'll
compile each driver into its own module.Signed-off-by: Michal Ludvig
Signed-off-by: Herbert Xu -
The crypto API is made up of the part facing users such as IPsec and the
low-level part which is used by cryptographic entities such as algorithms.
This patch splits out the latter so that the two APIs are more clearly
delineated. As a bonus the low-level API can now be modularised if all
algorithms are built as modules.Signed-off-by: Herbert Xu
15 Jul, 2006
1 commit
-
Herbert's patch 82062c72cd643c99a9e1c231270acbab986fd23f
in cryptodev-2.6 tree breaks alignment rules for PadLock
xcrypt instruction leading to General protection Oopses.This patch fixes the problem.
Signed-off-by: Michal Ludvig
Signed-off-by: Herbert Xu