<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/crypto/cryptd.c, branch v3.12.10</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/crypto/cryptd.c?h=v3.12.10</id>
<link rel='self' href='https://git.amat.us/linux/atom/crypto/cryptd.c?h=v3.12.10'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-10-24T13:21:18Z</updated>
<entry>
<title>crypto: cryptd - disable softirqs in cryptd_queue_worker to prevent data corruption</title>
<updated>2012-10-24T13:21:18Z</updated>
<author>
<name>Jussi Kivilinna</name>
<email>jussi.kivilinna@mbnet.fi</email>
</author>
<published>2012-10-21T17:42:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9efade1b3e981f5064f9db9ca971b4dc7557ae42'/>
<id>urn:sha1:9efade1b3e981f5064f9db9ca971b4dc7557ae42</id>
<content type='text'>
cryptd_queue_worker attempts to prevent simultaneous accesses to crypto
workqueue by cryptd_enqueue_request using preempt_disable/preempt_enable.
However cryptd_enqueue_request might be called from softirq context,
so add local_bh_disable/local_bh_enable to prevent data corruption and
panics.

Bug report at http://marc.info/?l=linux-crypto-vger&amp;m=134858649616319&amp;w=2

v2:
 - Disable software interrupts instead of hardware interrupts

Cc: stable@vger.kernel.org
Reported-by: Gurucharan Shetty &lt;gurucharan.shetty@gmail.com&gt;
Signed-off-by: Jussi Kivilinna &lt;jussi.kivilinna@mbnet.fi&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: cryptd - Use subsys_initcall to prevent races with aesni</title>
<updated>2011-08-20T08:08:03Z</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2011-08-19T08:11:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b2bac6acf86d05d8af0499f37d91ecac15722803'/>
<id>urn:sha1:b2bac6acf86d05d8af0499f37d91ecac15722803</id>
<content type='text'>
As cryptd is depeneded on by other algorithms such as aesni-intel,
it needs to be registered before them.  When everything is built
as modules, this occurs naturally.  However, for this to work when
they are built-in, we need to use subsys_initcall in cryptd.

Tested-by: Josh Boyer &lt;jwboyer@redhat.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: cryptd - Adding the AEAD interface type support to cryptd</title>
<updated>2010-09-20T08:05:12Z</updated>
<author>
<name>Adrian Hoban</name>
<email>adrian.hoban@intel.com</email>
</author>
<published>2010-09-20T08:05:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=298c926c6d7f50d91d6acb76c33b83bab5b5bd5c'/>
<id>urn:sha1:298c926c6d7f50d91d6acb76c33b83bab5b5bd5c</id>
<content type='text'>
This patch adds AEAD support into the cryptd framework. Having AEAD
support in cryptd enables crypto drivers that use the AEAD
interface type (such as the patch for AEAD based RFC4106 AES-GCM
implementation using Intel New Instructions) to leverage cryptd for
asynchronous processing.

Signed-off-by: Adrian Hoban &lt;adrian.hoban@intel.com&gt;
Signed-off-by: Tadeusz Struk &lt;tadeusz.struk@intel.com&gt;
Signed-off-by: Gabriele Paoloni &lt;gabriele.paoloni@intel.com&gt;
Signed-off-by: Aidan O'Mahony &lt;aidan.o.mahony@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>percpu: add __percpu sparse annotations to what's left</title>
<updated>2010-02-17T02:17:38Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2010-02-02T05:39:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a29d8b8e2d811a24bbe49215a0f0c536b72ebc18'/>
<id>urn:sha1:a29d8b8e2d811a24bbe49215a0f0c536b72ebc18</id>
<content type='text'>
Add __percpu sparse annotations to places which didn't make it in one
of the previous patches.  All converions are trivial.

These annotations are to make sparse consider percpu variables to be
in a different address space and warn if accessed without going
through percpu accessors.  This patch doesn't affect normal builds.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Acked-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
Cc: Dan Williams &lt;dan.j.williams@intel.com&gt;
Cc: Huang Ying &lt;ying.huang@intel.com&gt;
Cc: Len Brown &lt;lenb@kernel.org&gt;
Cc: Neil Brown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu</title>
<updated>2009-12-14T17:58:24Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2009-12-14T17:58:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d0316554d3586cbea60592a41391b5def2553d6f'/>
<id>urn:sha1:d0316554d3586cbea60592a41391b5def2553d6f</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)
  m68k: rename global variable vmalloc_end to m68k_vmalloc_end
  percpu: add missing per_cpu_ptr_to_phys() definition for UP
  percpu: Fix kdump failure if booted with percpu_alloc=page
  percpu: make misc percpu symbols unique
  percpu: make percpu symbols in ia64 unique
  percpu: make percpu symbols in powerpc unique
  percpu: make percpu symbols in x86 unique
  percpu: make percpu symbols in xen unique
  percpu: make percpu symbols in cpufreq unique
  percpu: make percpu symbols in oprofile unique
  percpu: make percpu symbols in tracer unique
  percpu: make percpu symbols under kernel/ and mm/ unique
  percpu: remove some sparse warnings
  percpu: make alloc_percpu() handle array types
  vmalloc: fix use of non-existent percpu variable in put_cpu_var()
  this_cpu: Use this_cpu_xx in trace_functions_graph.c
  this_cpu: Use this_cpu_xx for ftrace
  this_cpu: Use this_cpu_xx in nmi handling
  this_cpu: Use this_cpu operations in RCU
  this_cpu: Use this_cpu ops for VM statistics
  ...

Fix up trivial (famous last words) global per-cpu naming conflicts in
	arch/x86/kvm/svm.c
	mm/slab.c
</content>
</entry>
<entry>
<title>crypto: ghash - Add PCLMULQDQ accelerated implementation</title>
<updated>2009-10-19T02:53:06Z</updated>
<author>
<name>Huang Ying</name>
<email>ying.huang@intel.com</email>
</author>
<published>2009-10-19T02:53:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0e1227d356e9b2fe0500d6cc7084f752040a1e0e'/>
<id>urn:sha1:0e1227d356e9b2fe0500d6cc7084f752040a1e0e</id>
<content type='text'>
PCLMULQDQ is used to accelerate the most time-consuming part of GHASH,
carry-less multiplication. More information about PCLMULQDQ can be
found at:

http://software.intel.com/en-us/articles/carry-less-multiplication-and-its-usage-for-computing-the-gcm-mode/

Because PCLMULQDQ changes XMM state, its usage must be enclosed with
kernel_fpu_begin/end, which can be used only in process context, the
acceleration is implemented as crypto_ahash. That is, request in soft
IRQ context will be defered to the cryptd kernel thread.

Signed-off-by: Huang Ying &lt;ying.huang@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>this_cpu: Use this_cpu_ptr in crypto subsystem</title>
<updated>2009-10-03T10:48:23Z</updated>
<author>
<name>Christoph Lameter</name>
<email>cl@linux-foundation.org</email>
</author>
<published>2009-10-03T10:48:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0b44f4861f4cc1089424821f078d38441f8b4983'/>
<id>urn:sha1:0b44f4861f4cc1089424821f078d38441f8b4983</id>
<content type='text'>
Just a slight optimization that removes one array lookup.
The processor number is needed for other things as well so the
get/put_cpu cannot be removed.

Acked-by: Tejun Heo &lt;tj@kernel.org&gt;
Cc: Huang Ying &lt;ying.huang@intel.com&gt;
Signed-off-by: Christoph Lameter &lt;cl@linux-foundation.org&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
<entry>
<title>crypto: cryptd - Add support to access underlaying shash</title>
<updated>2009-08-06T05:35:20Z</updated>
<author>
<name>Huang Ying</name>
<email>ying.huang@intel.com</email>
</author>
<published>2009-08-06T05:35:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ace1366369841c9c3a9788f79baa4d73f1c53107'/>
<id>urn:sha1:ace1366369841c9c3a9788f79baa4d73f1c53107</id>
<content type='text'>
cryptd_alloc_ahash() will allocate a cryptd-ed ahash for specified
algorithm name. The new allocated one is guaranteed to be cryptd-ed
ahash, so the shash underlying can be gotten via cryptd_ahash_child().

Signed-off-by: Huang Ying &lt;ying.huang@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: cryptd - Add finup/export/import for hash</title>
<updated>2009-07-22T03:10:22Z</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2009-07-22T03:10:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6fba00d176ab73b15bb8e31f261582943429a92b'/>
<id>urn:sha1:6fba00d176ab73b15bb8e31f261582943429a92b</id>
<content type='text'>
This patch adds the finup/export/import functions to the cryptd
ahash implementation.  We simply invoke the underlying shash
operations.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: cryptd - Fix uninitialized return value</title>
<updated>2009-07-15T08:51:04Z</updated>
<author>
<name>Steffen Klassert</name>
<email>steffen.klassert@secunet.com</email>
</author>
<published>2009-07-15T08:51:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=05ed8758fa30e088766905d0d600aa393e144353'/>
<id>urn:sha1:05ed8758fa30e088766905d0d600aa393e144353</id>
<content type='text'>
If cryptd_alloc_instance() fails, the return value is uninitialized.
This patch fixes this by setting the return value.

Signed-off-by: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
</feed>
