08 May, 2007

1 commit

  • The last zlib_inflate update broke certain corner cases for ppp_deflate
    decompression handling. This patch fixes some logic to make things work
    properly again. Users other than ppp_deflate (the only Z_PACKET_FLUSH
    user) should be unaffected.

    Fixes bug 8405 (confirmed by Stefan)

    Signed-off-by: Richard Purdie
    Cc: Stefan Wenk
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Purdie
     

01 Aug, 2006

1 commit

  • The recent zlib update (commit 4f3865fb57a04db7cca068fed1c15badc064a302)
    broke ppc32 zImage decompression as it tries to decompress to address zero
    and the updated zlib_inflate checks that strm->next_out isn't a null
    pointer.

    This little patch fixes it.

    [rpurdie@rpsys.net: add comment]
    Signed-off-by: Peter Korsgaard
    Acked-by: Tom Rini
    Signed-off-by: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Korsgaard
     

28 Jun, 2006

1 commit

  • Fix function definitions to be ANSI-compliant:
    lib/zlib_inflate/inffast.c:68:1: warning: non-ANSI definition of function 'inflate_fast'
    lib/zlib_inflate/inftrees.c:33:1: warning: non-ANSI definition of function 'zlib_inflate_table'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

27 Jun, 2006

1 commit


23 Jun, 2006

1 commit

  • Upgrade the zlib_inflate implementation in the kernel from a patched
    version 1.1.3/4 to a patched 1.2.3.

    The code in the kernel is about seven years old and I noticed that the
    external zlib library's inflate performance was significantly faster (~50%)
    than the code in the kernel on ARM (and faster again on x86_32).

    For comparison the newer deflate code is 20% slower on ARM and 50% slower
    on x86_32 but gives an approx 1% compression ratio improvement. I don't
    consider this to be an improvement for kernel use so have no plans to
    change the zlib_deflate code.

    Various changes have been made to the zlib code in the kernel, the most
    significant being the extra functions/flush option used by ppp_deflate.
    This update reimplements the features PPP needs to ensure it continues to
    work.

    This code has been tested on ARM under both JFFS2 (with zlib compression
    enabled) and ppp_deflate and on x86_32. JFFS2 sees an approx. 10% real
    world file read speed improvement.

    This patch also removes ZLIB_VERSION as it no longer has a correct value.
    We don't need version checks anyway as the kernel's module handling will
    take care of that for us. This removal is also more in keeping with the
    zlib author's wishes (http://www.zlib.net/zlib_faq.html#faq24) and I've
    added something to the zlib.h header to note its a modified version.

    Signed-off-by: Richard Purdie
    Acked-by: Joern Engel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Purdie
     

11 Jan, 2006

1 commit

  • This patch contains the following possible cleanups:
    - #if 0 the following unused functions:
    - zlib_deflate/deflate.c: zlib_deflateSetDictionary
    - zlib_deflate/deflate.c: zlib_deflateParams
    - zlib_deflate/deflate.c: zlib_deflateCopy
    - zlib_inflate/infblock.c: zlib_inflate_set_dictionary
    - zlib_inflate/infblock.c: zlib_inflate_blocks_sync_point
    - zlib_inflate/inflate_sync.c: zlib_inflateSync
    - zlib_inflate/inflate_sync.c: zlib_inflateSyncPoint
    - remove the following unneeded EXPORT_SYMBOL's:
    - zlib_deflate/deflate_syms.c: zlib_deflateCopy
    - zlib_deflate/deflate_syms.c: zlib_deflateParams
    - zlib_inflate/inflate_syms.c: zlib_inflateSync
    - zlib_inflate/inflate_syms.c: zlib_inflateSyncPoint

    Signed-off-by: Adrian Bunk
    Cc: Matt Mackall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     

29 Oct, 2005

1 commit


18 Aug, 2005

1 commit

  • It turns out that empty distance code tables are not an error, and that
    a compressed block with only literals can validly have an empty table
    and should not be flagged as a data error.

    Some old versions of gzip had problems with this case, but it does not
    affect the zlib code in the kernel.

    Analysis and explanations thanks to Sergey Vlasov

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

06 Aug, 2005

1 commit

  • These bugs have been fixed in the standard zlib for a while.

    See for example

    a) http://sources.redhat.com/ml/bug-gnu-utils/1999-06/msg00183.html
    b) http://bugs.gentoo.org/show_bug.cgi?id=94584

    Signed-off-by: Tim Yamin
    Signed-off-by: Tavis Ormandy
    Signed-off-by: Linus Torvalds

    Tim Yamin