Hi.
On Sun, 2005-07-31 at 13:40, Herbert Xu wrote:
> On Mon, Jul 18, 2005 at 01:26:35PM +1000, Nigel Cunningham wrote:
> >
> > Here's a resend of a patch I'm using in Suspend2's new cryptoapi
> > support, which is needed for us to successfully compress pages using
> > deflate. It's along the lines of the existing fix in the decompression
> > code.
> >
> > diff -ruNp 190-cryptoapi-deflate.patch-old/crypto/deflate.c 190-cryptoapi-deflate.patch-new/crypto/deflate.c
> > --- 190-cryptoapi-deflate.patch-old/crypto/deflate.c 2005-06-20 11:46:49.000000000 +1000
> > +++ 190-cryptoapi-deflate.patch-new/crypto/deflate.c 2005-07-04 23:14:20.000000000 +1000
> > @@ -143,8 +143,15 @@ static int deflate_compress(void *ctx, c
> >
> > ret = zlib_deflate(stream, Z_FINISH);
> > if (ret != Z_STREAM_END) {
> > - ret = -EINVAL;
> > - goto out;
> > + if (!(ret == Z_OK && !stream->avail_in && !stream->avail_out)) {
> > + ret = -EINVAL;
> > + goto out;
> > + } else {
> > + u8 zerostuff = 0;
> > + stream->next_out = &zerostuff;
> > + stream->avail_out = 1;
> > + ret = zlib_deflate(stream, Z_FINISH);
> > + }
> > }
> > ret = 0;
> > *dlen = stream->total_out;
>
> Hi Nigel, I need a bit more information about this patch.
> Do you have a specific input stream that requires a fix like
> this?
Yes, Suspend2 if the user selects deflate as their compressor. The
output data will be PAGE_SIZE chunks, but deflate sometimes thinks it
has an extra byte to give us back.
I agree that it's ugly and don't recall using it when I had gzip support
in an earlier version of Suspend2. Are you thinking there might be a
better way? If so, I can dig out the old (non crypto api) code.
Regards,
Nigel
--
Evolution.
Enumerate the requirements.
Consider the interdependencies.
Calculate the probabilities.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|