|
@@ -503,16 +503,16 @@ static int __test_aead(struct crypto_aead *tfm, int enc,
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
- sg_init_one(&sg[0], input,
|
|
|
- template[i].ilen + (enc ? authsize : 0));
|
|
|
-
|
|
|
if (diff_dst) {
|
|
|
output = xoutbuf[0];
|
|
|
output += align_offset;
|
|
|
+ sg_init_one(&sg[0], input, template[i].ilen);
|
|
|
sg_init_one(&sgout[0], output,
|
|
|
+ template[i].rlen);
|
|
|
+ } else {
|
|
|
+ sg_init_one(&sg[0], input,
|
|
|
template[i].ilen +
|
|
|
(enc ? authsize : 0));
|
|
|
- } else {
|
|
|
output = input;
|
|
|
}
|
|
|
|
|
@@ -612,12 +612,6 @@ static int __test_aead(struct crypto_aead *tfm, int enc,
|
|
|
memcpy(q, template[i].input + temp,
|
|
|
template[i].tap[k]);
|
|
|
|
|
|
- n = template[i].tap[k];
|
|
|
- if (k == template[i].np - 1 && enc)
|
|
|
- n += authsize;
|
|
|
- if (offset_in_page(q) + n < PAGE_SIZE)
|
|
|
- q[n] = 0;
|
|
|
-
|
|
|
sg_set_buf(&sg[k], q, template[i].tap[k]);
|
|
|
|
|
|
if (diff_dst) {
|
|
@@ -625,13 +619,17 @@ static int __test_aead(struct crypto_aead *tfm, int enc,
|
|
|
offset_in_page(IDX[k]);
|
|
|
|
|
|
memset(q, 0, template[i].tap[k]);
|
|
|
- if (offset_in_page(q) + n < PAGE_SIZE)
|
|
|
- q[n] = 0;
|
|
|
|
|
|
sg_set_buf(&sgout[k], q,
|
|
|
template[i].tap[k]);
|
|
|
}
|
|
|
|
|
|
+ n = template[i].tap[k];
|
|
|
+ if (k == template[i].np - 1 && enc)
|
|
|
+ n += authsize;
|
|
|
+ if (offset_in_page(q) + n < PAGE_SIZE)
|
|
|
+ q[n] = 0;
|
|
|
+
|
|
|
temp += template[i].tap[k];
|
|
|
}
|
|
|
|
|
@@ -650,10 +648,10 @@ static int __test_aead(struct crypto_aead *tfm, int enc,
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
- sg[k - 1].length += authsize;
|
|
|
-
|
|
|
if (diff_dst)
|
|
|
sgout[k - 1].length += authsize;
|
|
|
+ else
|
|
|
+ sg[k - 1].length += authsize;
|
|
|
}
|
|
|
|
|
|
sg_init_table(asg, template[i].anp);
|