diff for duplicates of <20170606205851.GA65728@gmail.com> diff --git a/a/1.txt b/N1/1.txt index 6d0a76a..910cf25 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -95,7 +95,7 @@ encrypted using a different encryption key, it's not safe to use a global for each encryption/decryption, or else a mutex needs to be held during each rekeying and encryption/decryption. For what it's worth, I recently fixed a similar bug for the "encrypted" key type: -https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?h=keys-fixes&idi307a05d4d58f4c29aa7e9d83dc59d63e28c382 +https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?h=keys-fixes&id=69307a05d4d58f4c29aa7e9d83dc59d63e28c382 > /* > * Encrypt/decrypt big_key data @@ -125,7 +125,7 @@ https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?h= memset(req_on_stack, 0, sizeof(req_on_stack)); memset(zero_nonce, 0, sizeof(zero_nonce)); -> + sg_init_one(&sgio, data, datalen + (op = BIG_KEY_ENC ? ENC_AUTHTAG_SIZE : 0)); +> + sg_init_one(&sgio, data, datalen + (op == BIG_KEY_ENC ? ENC_AUTHTAG_SIZE : 0)); > + > + if (crypto_aead_setkey(big_key_aead, key, ENC_KEY_SIZE)) { > ret = -EAGAIN; @@ -143,7 +143,7 @@ memset(zero_nonce, 0, sizeof(zero_nonce)); > + aead_request_set_callback(aead_req, CRYPTO_TFM_REQ_MAY_SLEEP, > + NULL, NULL); > -> if (op = BIG_KEY_ENC) +> if (op == BIG_KEY_ENC) > - ret = crypto_skcipher_encrypt(req); > + ret = crypto_aead_encrypt(aead_req); > else diff --git a/a/content_digest b/N1/content_digest index 8c1cb15..229de88 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,7 +1,7 @@ "ref\020170606173900.29279-1-Jason@zx2c4.com\0" "From\0Eric Biggers <ebiggers3@gmail.com>\0" "Subject\0Re: [PATCH] security/keys: rewrite all of big_key crypto\0" - "Date\0Tue, 06 Jun 2017 20:58:51 +0000\0" + "Date\0Tue, 6 Jun 2017 13:58:51 -0700\0" "To\0Jason A. Donenfeld <Jason@zx2c4.com>\0" "Cc\0keyrings@vger.kernel.org" David Howells <dhowells@redhat.com> @@ -108,7 +108,7 @@ "for each encryption/decryption, or else a mutex needs to be held during each\n" "rekeying and encryption/decryption. For what it's worth, I recently fixed a\n" "similar bug for the \"encrypted\" key type:\n" - "https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?h=keys-fixes&idi307a05d4d58f4c29aa7e9d83dc59d63e28c382\n" + "https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?h=keys-fixes&id=69307a05d4d58f4c29aa7e9d83dc59d63e28c382\n" "\n" "> /*\n" "> * Encrypt/decrypt big_key data\n" @@ -138,7 +138,7 @@ "memset(req_on_stack, 0, sizeof(req_on_stack));\n" "memset(zero_nonce, 0, sizeof(zero_nonce));\n" "\n" - "> +\tsg_init_one(&sgio, data, datalen + (op = BIG_KEY_ENC ? ENC_AUTHTAG_SIZE : 0));\n" + "> +\tsg_init_one(&sgio, data, datalen + (op == BIG_KEY_ENC ? ENC_AUTHTAG_SIZE : 0));\n" "> +\n" "> +\tif (crypto_aead_setkey(big_key_aead, key, ENC_KEY_SIZE)) {\n" "> \t\tret = -EAGAIN;\n" @@ -156,7 +156,7 @@ "> +\taead_request_set_callback(aead_req, CRYPTO_TFM_REQ_MAY_SLEEP,\n" "> +\t\t\t\t NULL, NULL);\n" "> \n" - "> \tif (op = BIG_KEY_ENC)\n" + "> \tif (op == BIG_KEY_ENC)\n" "> -\t\tret = crypto_skcipher_encrypt(req);\n" "> +\t\tret = crypto_aead_encrypt(aead_req);\n" "> \telse\n" @@ -215,4 +215,4 @@ "\n" Eric -ce3a310ef410c0cff0b5ca3fc9fe910b689404d9494270559e17bd3eafb5ed81 +f9cb679b2b2bd91806fb277867cf19868ddcbe09e98cc95c5cb423b00a5d0c72
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.