diff options
Diffstat (limited to 'crypto/af_alg.c')
| -rw-r--r-- | crypto/af_alg.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/crypto/af_alg.c b/crypto/af_alg.c index d6936c0e08d9..ffa9f4ccd9b4 100644 --- a/crypto/af_alg.c +++ b/crypto/af_alg.c | |||
| @@ -641,9 +641,9 @@ void af_alg_pull_tsgl(struct sock *sk, size_t used, struct scatterlist *dst, | |||
| 641 | if (dst_offset >= plen) { | 641 | if (dst_offset >= plen) { |
| 642 | /* discard page before offset */ | 642 | /* discard page before offset */ |
| 643 | dst_offset -= plen; | 643 | dst_offset -= plen; |
| 644 | put_page(page); | ||
| 645 | } else { | 644 | } else { |
| 646 | /* reassign page to dst after offset */ | 645 | /* reassign page to dst after offset */ |
| 646 | get_page(page); | ||
| 647 | sg_set_page(dst + j, page, | 647 | sg_set_page(dst + j, page, |
| 648 | plen - dst_offset, | 648 | plen - dst_offset, |
| 649 | sg[i].offset + dst_offset); | 649 | sg[i].offset + dst_offset); |
| @@ -661,9 +661,7 @@ void af_alg_pull_tsgl(struct sock *sk, size_t used, struct scatterlist *dst, | |||
| 661 | if (sg[i].length) | 661 | if (sg[i].length) |
| 662 | return; | 662 | return; |
| 663 | 663 | ||
| 664 | if (!dst) | 664 | put_page(page); |
| 665 | put_page(page); | ||
| 666 | |||
| 667 | sg_assign_page(sg + i, NULL); | 665 | sg_assign_page(sg + i, NULL); |
| 668 | } | 666 | } |
| 669 | 667 | ||
