aboutsummaryrefslogtreecommitdiffstats
path: root/net/xfrm/xfrm_algo.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2007-10-26 03:39:27 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-26 03:39:27 -0400
commit0e0940d4bb9b19c0a45c844a83e1d25686aaf433 (patch)
tree1644f6c36efe10a6e90f5e395d80564f8a9ba860 /net/xfrm/xfrm_algo.c
parented0e7e0ca370519d6f79d1093ee2890d4cdee744 (diff)
[IPSEC]: Fix scatterlist handling in skb_icv_walk().
Use sg_init_one() and sg_init_table() as needed. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/xfrm/xfrm_algo.c')
-rw-r--r--net/xfrm/xfrm_algo.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/xfrm/xfrm_algo.c b/net/xfrm/xfrm_algo.c
index fa45989a716a..0426388d351d 100644
--- a/net/xfrm/xfrm_algo.c
+++ b/net/xfrm/xfrm_algo.c
@@ -553,7 +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_buf(&sg, skb->data + offset, copy); 556 sg_init_one(&sg, skb->data + offset, copy);
557 557
558 err = icv_update(desc, &sg, copy); 558 err = icv_update(desc, &sg, copy);
559 if (unlikely(err)) 559 if (unlikely(err))
@@ -576,8 +576,9 @@ int skb_icv_walk(const struct sk_buff *skb, struct hash_desc *desc,
576 if (copy > len) 576 if (copy > len)
577 copy = len; 577 copy = len;
578 578
579 sg_init_table(&sg, 1);
579 sg_set_page(&sg, frag->page, copy, 580 sg_set_page(&sg, frag->page, copy,
580 frag->page_offset + offset-start); 581 frag->page_offset + offset-start);
581 582
582 err = icv_update(desc, &sg, copy); 583 err = icv_update(desc, &sg, copy);
583 if (unlikely(err)) 584 if (unlikely(err))