Re: cryptoapi highmem bug

From: Andrew Morton
Date: Wed Feb 25 2004 - 14:56:42 EST


James Morris <jmorris@xxxxxxxxxx> wrote:
>
> On Tue, 24 Feb 2004, Andrew Morton wrote:
>
> > Jean-Luc Cooke <jlcooke@xxxxxxxxxxxxxx> wrote:
> > >
> > > How do I check for equal real addresses from two virtual ones?
> >
> > I don't think there is a practical way of doing this. It would involve
> > comparing the virtual address with the kmap and atomic kmap regions,
> > performing a pagetable walk, extracting the pageframe. If the page is not
> > in a kmap area generate the pageframe directly. Make that work on all
> > architectures. Very yuk.
> >
> > If practical this API should have been defined in terms of
> > (page/offset/len) and it should have kmapped the pages itself. I guess
> > it's too late for that.
>
> Do you mean that the crypt() function should do kmapping?

Passing the page* down one more level would permit cbc_process() to get at
the pageframes themselves, so it can sanely determine if src and dest
overlap. (I assume this is for encryption-in-place).

Or maybe it's sufficient for crypt() to pass a simple boolean down to the
prfn() callout which says "this is in-place encryption".

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/