aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--block/crypto.c6
-rw-r--r--crypto/block-luks.c13
-rw-r--r--include/crypto/block.h6
-rw-r--r--tests/test-crypto-block.c6
4 files changed, 17 insertions, 14 deletions
diff --git a/block/crypto.c b/block/crypto.c
index 6828180840..10e5ddccaa 100644
--- a/block/crypto.c
+++ b/block/crypto.c
@@ -56,10 +56,10 @@ static int block_crypto_probe_generic(QCryptoBlockFormat format,
static ssize_t block_crypto_read_func(QCryptoBlock *block,
- void *opaque,
size_t offset,
uint8_t *buf,
size_t buflen,
+ void *opaque,
Error **errp)
{
BlockDriverState *bs = opaque;
@@ -83,10 +83,10 @@ struct BlockCryptoCreateData {
static ssize_t block_crypto_write_func(QCryptoBlock *block,
- void *opaque,
size_t offset,
const uint8_t *buf,
size_t buflen,
+ void *opaque,
Error **errp)
{
struct BlockCryptoCreateData *data = opaque;
@@ -102,8 +102,8 @@ static ssize_t block_crypto_write_func(QCryptoBlock *block,
static ssize_t block_crypto_init_func(QCryptoBlock *block,
- void *opaque,
size_t headerlen,
+ void *opaque,
Error **errp)
{
struct BlockCryptoCreateData *data = opaque;
diff --git a/crypto/block-luks.c b/crypto/block-luks.c
index d5a31bbaeb..2b97d89a69 100644
--- a/crypto/block-luks.c
+++ b/crypto/block-luks.c
@@ -473,9 +473,9 @@ qcrypto_block_luks_load_key(QCryptoBlock *block,
* then encrypted.
*/
rv = readfunc(block,
- opaque,
slot->key_offset * QCRYPTO_BLOCK_LUKS_SECTOR_SIZE,
splitkey, splitkeylen,
+ opaque,
errp);
if (rv < 0) {
goto cleanup;
@@ -676,9 +676,10 @@ qcrypto_block_luks_open(QCryptoBlock *block,
/* Read the entire LUKS header, minus the key material from
* the underlying device */
- rv = readfunc(block, opaque, 0,
+ rv = readfunc(block, 0,
(uint8_t *)&luks->header,
sizeof(luks->header),
+ opaque,
errp);
if (rv < 0) {
ret = rv;
@@ -1245,7 +1246,7 @@ qcrypto_block_luks_create(QCryptoBlock *block,
QCRYPTO_BLOCK_LUKS_SECTOR_SIZE;
/* Reserve header space to match payload offset */
- initfunc(block, opaque, block->payload_offset, &local_err);
+ initfunc(block, block->payload_offset, opaque, &local_err);
if (local_err) {
error_propagate(errp, local_err);
goto error;
@@ -1267,9 +1268,10 @@ qcrypto_block_luks_create(QCryptoBlock *block,
/* Write out the partition header and key slot headers */
- writefunc(block, opaque, 0,
+ writefunc(block, 0,
(const uint8_t *)&luks->header,
sizeof(luks->header),
+ opaque,
&local_err);
/* Delay checking local_err until we've byte-swapped */
@@ -1295,10 +1297,11 @@ qcrypto_block_luks_create(QCryptoBlock *block,
/* Write out the master key material, starting at the
* sector immediately following the partition header. */
- if (writefunc(block, opaque,
+ if (writefunc(block,
luks->header.key_slots[0].key_offset *
QCRYPTO_BLOCK_LUKS_SECTOR_SIZE,
splitkey, splitkeylen,
+ opaque,
errp) != splitkeylen) {
goto error;
}
diff --git a/include/crypto/block.h b/include/crypto/block.h
index 4a053a3ffa..013a435f1b 100644
--- a/include/crypto/block.h
+++ b/include/crypto/block.h
@@ -30,22 +30,22 @@ typedef struct QCryptoBlock QCryptoBlock;
* and QCryptoBlockOpenOptions in qapi/crypto.json */
typedef ssize_t (*QCryptoBlockReadFunc)(QCryptoBlock *block,
- void *opaque,
size_t offset,
uint8_t *buf,
size_t buflen,
+ void *opaque,
Error **errp);
typedef ssize_t (*QCryptoBlockInitFunc)(QCryptoBlock *block,
- void *opaque,
size_t headerlen,
+ void *opaque,
Error **errp);
typedef ssize_t (*QCryptoBlockWriteFunc)(QCryptoBlock *block,
- void *opaque,
size_t offset,
const uint8_t *buf,
size_t buflen,
+ void *opaque,
Error **errp);
/**
diff --git a/tests/test-crypto-block.c b/tests/test-crypto-block.c
index 85e6603d59..95c4bd5da3 100644
--- a/tests/test-crypto-block.c
+++ b/tests/test-crypto-block.c
@@ -187,10 +187,10 @@ static struct QCryptoBlockTestData {
static ssize_t test_block_read_func(QCryptoBlock *block,
- void *opaque,
size_t offset,
uint8_t *buf,
size_t buflen,
+ void *opaque,
Error **errp)
{
Buffer *header = opaque;
@@ -204,8 +204,8 @@ static ssize_t test_block_read_func(QCryptoBlock *block,
static ssize_t test_block_init_func(QCryptoBlock *block,
- void *opaque,
size_t headerlen,
+ void *opaque,
Error **errp)
{
Buffer *header = opaque;
@@ -219,10 +219,10 @@ static ssize_t test_block_init_func(QCryptoBlock *block,
static ssize_t test_block_write_func(QCryptoBlock *block,
- void *opaque,
size_t offset,
const uint8_t *buf,
size_t buflen,
+ void *opaque,
Error **errp)
{
Buffer *header = opaque;