[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1483808145-18417-4-git-send-email-4sschmid@informatik.uni-hamburg.de>
Date: Sat, 7 Jan 2017 17:55:44 +0100
From: Sven Schmidt <4sschmid@...ormatik.uni-hamburg.de>
To: akpm@...ux-foundation.org
Cc: bongkyu.kim@....com, rsalvaterra@...il.com,
sergey.senozhatsky@...il.com, gregkh@...uxfoundation.org,
linux-kernel@...r.kernel.org, herbert@...dor.apana.org.au,
davem@...emloft.net, linux-crypto@...r.kernel.org,
anton@...msg.org, ccross@...roid.com, keescook@...omium.org,
tony.luck@...el.com, phillip@...ashfs.org.uk,
Sven Schmidt <4sschmid@...ormatik.uni-hamburg.de>
Subject: [PATCH v2 3/4] crypto: Change LZ4 modules to work with new LZ4 module version
This patch updates the crypto modules using LZ4 compression to work with the
new LZ4 module version.
Signed-off-by: Sven Schmidt <4sschmid@...ormatik.uni-hamburg.de>
---
crypto/lz4.c | 27 ++++++++++++++-------------
crypto/lz4hc.c | 25 +++++++++++++------------
2 files changed, 27 insertions(+), 25 deletions(-)
diff --git a/crypto/lz4.c b/crypto/lz4.c
index 99c1b2c..b969e5f 100644
--- a/crypto/lz4.c
+++ b/crypto/lz4.c
@@ -66,15 +66,16 @@ static void lz4_exit(struct crypto_tfm *tfm)
static int __lz4_compress_crypto(const u8 *src, unsigned int slen,
u8 *dst, unsigned int *dlen, void *ctx)
{
- size_t tmp_len = *dlen;
- int err;
+ int out_len;
- err = lz4_compress(src, slen, dst, &tmp_len, ctx);
+ out_len = LZ4_compress_default(src, dst, slen, (int)((size_t)dlen), ctx);
- if (err < 0)
- return -EINVAL;
+ if (out_len == 0) {
+ // out_len is 0 means an error occured
+ return -EINVAL;
+ }
- *dlen = tmp_len;
+ *dlen = out_len;
return 0;
}
@@ -96,16 +97,16 @@ static int lz4_compress_crypto(struct crypto_tfm *tfm, const u8 *src,
static int __lz4_decompress_crypto(const u8 *src, unsigned int slen,
u8 *dst, unsigned int *dlen, void *ctx)
{
- int err;
- size_t tmp_len = *dlen;
- size_t __slen = slen;
+ int out_len;
- err = lz4_decompress_unknownoutputsize(src, __slen, dst, &tmp_len);
- if (err < 0)
+ out_len = LZ4_decompress_safe(src, dst, slen, (int)((size_t)dlen));
+ if (out_len < 0) {
+ // out_len of less than 0 means an error occured
return -EINVAL;
+ }
- *dlen = tmp_len;
- return err;
+ *dlen = out_len;
+ return out_len;
}
static int lz4_sdecompress(struct crypto_scomp *tfm, const u8 *src,
diff --git a/crypto/lz4hc.c b/crypto/lz4hc.c
index 75ffc4a..bf2ceb7 100644
--- a/crypto/lz4hc.c
+++ b/crypto/lz4hc.c
@@ -65,15 +65,16 @@ static void lz4hc_exit(struct crypto_tfm *tfm)
static int __lz4hc_compress_crypto(const u8 *src, unsigned int slen,
u8 *dst, unsigned int *dlen, void *ctx)
{
- size_t tmp_len = *dlen;
- int err;
+ int out_len;
- err = lz4hc_compress(src, slen, dst, &tmp_len, ctx);
+ out_len = LZ4_compress_HC(src, dst, slen, (int)((size_t)dlen), LZ4HC_DEFAULT_CLEVEL, ctx);
- if (err < 0)
+ if (out_len == 0) {
+ // out_len of 0 -> error
return -EINVAL;
+ }
- *dlen = tmp_len;
+ *dlen = out_len;
return 0;
}
@@ -97,16 +98,16 @@ static int lz4hc_compress_crypto(struct crypto_tfm *tfm, const u8 *src,
static int __lz4hc_decompress_crypto(const u8 *src, unsigned int slen,
u8 *dst, unsigned int *dlen, void *ctx)
{
- int err;
- size_t tmp_len = *dlen;
- size_t __slen = slen;
+ int out_len;
- err = lz4_decompress_unknownoutputsize(src, __slen, dst, &tmp_len);
- if (err < 0)
+ out_len = LZ4_decompress_safe(src, dst, slen, (int)((size_t)dlen));
+ if (out_len < 0) {
+ // out_len of less than 0 means an error occured
return -EINVAL;
+ }
- *dlen = tmp_len;
- return err;
+ *dlen = out_len;
+ return out_len;
}
static int lz4hc_sdecompress(struct crypto_scomp *tfm, const u8 *src,
--
2.1.4
Powered by blists - more mailing lists