diff options
Diffstat (limited to 'net/xfrm/xfrm_algo.c')
| -rw-r--r-- | net/xfrm/xfrm_algo.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/net/xfrm/xfrm_algo.c b/net/xfrm/xfrm_algo.c index 313d4bed3aa9..fa45989a716a 100644 --- a/net/xfrm/xfrm_algo.c +++ b/net/xfrm/xfrm_algo.c | |||
| @@ -553,9 +553,7 @@ int skb_icv_walk(const struct sk_buff *skb, struct hash_desc *desc, | |||
| 553 | if (copy > len) | 553 | if (copy > len) |
| 554 | copy = len; | 554 | copy = len; |
| 555 | 555 | ||
| 556 | sg_set_page(&sg, virt_to_page(skb->data + offset)); | 556 | sg_set_buf(&sg, skb->data + offset, copy); |
| 557 | sg.offset = (unsigned long)(skb->data + offset) % PAGE_SIZE; | ||
| 558 | sg.length = copy; | ||
| 559 | 557 | ||
| 560 | err = icv_update(desc, &sg, copy); | 558 | err = icv_update(desc, &sg, copy); |
| 561 | if (unlikely(err)) | 559 | if (unlikely(err)) |
| @@ -578,9 +576,8 @@ int skb_icv_walk(const struct sk_buff *skb, struct hash_desc *desc, | |||
| 578 | if (copy > len) | 576 | if (copy > len) |
| 579 | copy = len; | 577 | copy = len; |
| 580 | 578 | ||
| 581 | sg_set_page(&sg, frag->page); | 579 | sg_set_page(&sg, frag->page, copy, |
| 582 | sg.offset = frag->page_offset + offset-start; | 580 | frag->page_offset + offset-start); |
| 583 | sg.length = copy; | ||
| 584 | 581 | ||
| 585 | err = icv_update(desc, &sg, copy); | 582 | err = icv_update(desc, &sg, copy); |
| 586 | if (unlikely(err)) | 583 | if (unlikely(err)) |
