crypto: algif_skcipher - sendmsg SG marking is off by one
[linux-drm-fsl-dcu.git] / crypto / algif_skcipher.c
index df86fb47c3ae814f8243279d33698bc336425530..a81c10faf9c4ea75e5d366e0bdf878b221cdd0a0 100644 (file)
@@ -392,7 +392,8 @@ static int skcipher_sendmsg(struct socket *sock, struct msghdr *msg,
 
                sgl = list_entry(ctx->tsgl.prev, struct skcipher_sg_list, list);
                sg = sgl->sg;
-               sg_unmark_end(sg + sgl->cur);
+               if (sgl->cur)
+                       sg_unmark_end(sg + sgl->cur - 1);
                do {
                        i = sgl->cur;
                        plen = min_t(size_t, len, PAGE_SIZE);