From: Patrick McHardy <kaber@trash.net>
To: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Cc: Dimitri Puzin <max@psycast.de>, linux-crypto@vger.kernel.org
Subject: Re: hifn_795x in Linux-2.6.27-rc7
Date: Wed, 24 Sep 2008 19:13:36 +0200 [thread overview]
Message-ID: <48DA7540.8030102@trash.net> (raw)
In-Reply-To: <20080924170032.GA5190@2ka.mipt.ru>
Evgeniy Polyakov wrote:
> Hi Patrick.
>
> On Wed, Sep 24, 2008 at 06:40:29PM +0200, Patrick McHardy (kaber@trash.net) wrote:
>
> [HIFN]: Fix DMA setup
>
> without a changelog :) IIRC the problem is that HIFN sets up each
> DMA descriptor for the full request length, even though it should
> only cover on SG entry. The result is memory corruption.
>
>
> Can not tell without patch itself, but code operates on the number of
> bytes provided from the higher levels, not full dma size (0x3ff bytes).
>
Yes, but it uses that size for every descriptor.
I'm going to send you the patches in private (they're quite large)
so you can have a look.
>
>> [HIFN]: Don't copy src sg list
>>
>> also without a changelog. I think this one was just an optimization,
>> the source descriptors don't have alignment or size restrictions and
>> thus we don't need to linearize it first.
>>
>
> Also can not say for sure, but there should not be src linearization,
> instead we copy data from src to aligned dst and then perform crypto
> processin in place, and then copy data back.
>
Right, I remember. The copying to the (temporary) destination area
is not necessary, the chip can just read it from the source are directly.
>
>> [HIFN]: Fix request context corruption
>>
>> HIFN uses the transform context to store per-request data, which breaks
>> when more than one request is outstanding. Move per request members from
>> struct hifn_context to a new struct hifn_request_context and convert
>> the code to use this.
>>
>
> Its per-tfm, so things like key and iv are ok, and others should only be
> accessed under the lock, but there may be problems.
>
Things like op, mode, ... are per request and are set without any
locking.
>> If someone is interested in picking this up I could send my old patches,
>> I probably won't manage to do it myself in the next time.
>>
>
> Please do, if they work for you, we can just apply them, but I would
> like first to check them out.
I'm not sure whether they're ready for applying. IIRC I still got stalls
occasionally,
but I don't remember the details. They made things better for me though :)
Anyways, patches coming up in a minute.
next prev parent reply other threads:[~2008-09-24 17:14 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-22 17:39 hifn_795x in Linux-2.6.27-rc7 Dimitri Puzin
2008-09-23 16:55 ` Evgeniy Polyakov
2008-09-23 17:39 ` Evgeniy Polyakov
2008-09-23 18:06 ` Dimitri Puzin
2008-09-23 18:18 ` Evgeniy Polyakov
2008-09-23 21:55 ` David Miller
2008-09-24 2:53 ` Evgeniy Polyakov
2008-09-24 3:01 ` Herbert Xu
2008-09-24 3:05 ` David Miller
2008-10-12 12:14 ` Herbert Xu
2008-09-24 16:40 ` Patrick McHardy
2008-09-24 17:00 ` Evgeniy Polyakov
2008-09-24 17:13 ` Patrick McHardy [this message]
2008-09-24 17:16 ` Evgeniy Polyakov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48DA7540.8030102@trash.net \
--to=kaber@trash.net \
--cc=johnpol@2ka.mipt.ru \
--cc=linux-crypto@vger.kernel.org \
--cc=max@psycast.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.