Re: cryptoapi incorrect struct page usage

From: David S. Miller (
Date: Sat Aug 09 2003 - 15:41:50 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-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at