Re: cryptoapi incorrect struct page usage

From: David S. Miller
Date: Sat Aug 09 2003 - 15:41:51 EST


On Sat, 09 Aug 2003 23:33:52 +0300
Mika Penttilä <mika.penttila@xxxxxxxxxxx> wrote:

> sg[elt].page = virt_to_page(skb->data + offset);
> sg[elt].offset = (unsigned long)(skb->data + offset) % PAGE_SIZE;
> sg[elt].length = copy;
>
> so unpinned pages are passed to cryptoapi. Nothing prevents these pages
> from being swapped out. Something like get_user_pages() is needed to pin
> these pages for the duration of crypto operations. Comments?

The page at skb->data was allocated by the skbuff allocation
layer, it has therefore a lifetime the size of the SKB itself.

The crypto API call is finished before we can possibly free up
the SKB, so nothing bad can happen.
-
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/