diff options
Diffstat (limited to 'net/xfrm')
| -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 313d4bed3aa..fa45989a716 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,  		if (copy > len)  			copy = len; -		sg_set_page(&sg, virt_to_page(skb->data + offset)); -		sg.offset = (unsigned long)(skb->data + offset) % PAGE_SIZE; -		sg.length = copy; +		sg_set_buf(&sg, skb->data + offset, copy);  		err = icv_update(desc, &sg, copy);  		if (unlikely(err)) @@ -578,9 +576,8 @@ int skb_icv_walk(const struct sk_buff *skb, struct hash_desc *desc,  			if (copy > len)  				copy = len; -			sg_set_page(&sg, frag->page); -			sg.offset = frag->page_offset + offset-start; -			sg.length = copy; +			sg_set_page(&sg, frag->page, copy, +					frag->page_offset + offset-start);  			err = icv_update(desc, &sg, copy);  			if (unlikely(err))  |