Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
Merging 3.18-rc4 in order to pick up the memzero_explicit helper.
Bu işleme şunda yer alıyor:
@@ -202,7 +202,8 @@ static int cts_cbc_decrypt(struct crypto_cts_ctx *ctx,
|
||||
/* 5. Append the tail (BB - Ln) bytes of Xn (tmp) to Cn to create En */
|
||||
memcpy(s + bsize + lastn, tmp + lastn, bsize - lastn);
|
||||
/* 6. Decrypt En to create Pn-1 */
|
||||
memset(iv, 0, sizeof(iv));
|
||||
memzero_explicit(iv, sizeof(iv));
|
||||
|
||||
sg_set_buf(&sgsrc[0], s + bsize, bsize);
|
||||
sg_set_buf(&sgdst[0], d, bsize);
|
||||
err = crypto_blkcipher_decrypt_iv(&lcldesc, sgdst, sgsrc, bsize);
|
||||
|
@@ -64,7 +64,7 @@ int crypto_sha1_update(struct shash_desc *desc, const u8 *data,
|
||||
src = data + done;
|
||||
} while (done + SHA1_BLOCK_SIZE <= len);
|
||||
|
||||
memset(temp, 0, sizeof(temp));
|
||||
memzero_explicit(temp, sizeof(temp));
|
||||
partial = 0;
|
||||
}
|
||||
memcpy(sctx->buffer + partial, src, len - done);
|
||||
|
@@ -211,10 +211,9 @@ static void sha256_transform(u32 *state, const u8 *input)
|
||||
|
||||
/* clear any sensitive info... */
|
||||
a = b = c = d = e = f = g = h = t1 = t2 = 0;
|
||||
memset(W, 0, 64 * sizeof(u32));
|
||||
memzero_explicit(W, 64 * sizeof(u32));
|
||||
}
|
||||
|
||||
|
||||
static int sha224_init(struct shash_desc *desc)
|
||||
{
|
||||
struct sha256_state *sctx = shash_desc_ctx(desc);
|
||||
@@ -317,7 +316,7 @@ static int sha224_final(struct shash_desc *desc, u8 *hash)
|
||||
sha256_final(desc, D);
|
||||
|
||||
memcpy(hash, D, SHA224_DIGEST_SIZE);
|
||||
memset(D, 0, SHA256_DIGEST_SIZE);
|
||||
memzero_explicit(D, SHA256_DIGEST_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -239,7 +239,7 @@ static int sha384_final(struct shash_desc *desc, u8 *hash)
|
||||
sha512_final(desc, D);
|
||||
|
||||
memcpy(hash, D, 48);
|
||||
memset(D, 0, 64);
|
||||
memzero_explicit(D, 64);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -612,7 +612,7 @@ static int tgr160_final(struct shash_desc *desc, u8 * out)
|
||||
|
||||
tgr192_final(desc, D);
|
||||
memcpy(out, D, TGR160_DIGEST_SIZE);
|
||||
memset(D, 0, TGR192_DIGEST_SIZE);
|
||||
memzero_explicit(D, TGR192_DIGEST_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -623,7 +623,7 @@ static int tgr128_final(struct shash_desc *desc, u8 * out)
|
||||
|
||||
tgr192_final(desc, D);
|
||||
memcpy(out, D, TGR128_DIGEST_SIZE);
|
||||
memset(D, 0, TGR192_DIGEST_SIZE);
|
||||
memzero_explicit(D, TGR192_DIGEST_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -613,7 +613,7 @@ static int vmac_final(struct shash_desc *pdesc, u8 *out)
|
||||
}
|
||||
mac = vmac(ctx->partial, ctx->partial_size, nonce, NULL, ctx);
|
||||
memcpy(out, &mac, sizeof(vmac_t));
|
||||
memset(&mac, 0, sizeof(vmac_t));
|
||||
memzero_explicit(&mac, sizeof(vmac_t));
|
||||
memset(&ctx->__vmac_ctx, 0, sizeof(struct vmac_ctx));
|
||||
ctx->partial_size = 0;
|
||||
return 0;
|
||||
|
@@ -1102,8 +1102,8 @@ static int wp384_final(struct shash_desc *desc, u8 *out)
|
||||
u8 D[64];
|
||||
|
||||
wp512_final(desc, D);
|
||||
memcpy (out, D, WP384_DIGEST_SIZE);
|
||||
memset (D, 0, WP512_DIGEST_SIZE);
|
||||
memcpy(out, D, WP384_DIGEST_SIZE);
|
||||
memzero_explicit(D, WP512_DIGEST_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1113,8 +1113,8 @@ static int wp256_final(struct shash_desc *desc, u8 *out)
|
||||
u8 D[64];
|
||||
|
||||
wp512_final(desc, D);
|
||||
memcpy (out, D, WP256_DIGEST_SIZE);
|
||||
memset (D, 0, WP512_DIGEST_SIZE);
|
||||
memcpy(out, D, WP256_DIGEST_SIZE);
|
||||
memzero_explicit(D, WP512_DIGEST_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Yeni konuda referans
Bir kullanıcı engelle