lib/zlib: DFLTCC support inflate with small window
authorMikhail Zaslonko <zaslonko@linux.ibm.com>
Thu, 26 Jan 2023 13:14:27 +0000 (14:14 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 3 Feb 2023 06:50:09 +0000 (22:50 -0800)
commit9010dbc007b853ed55905e40fa8e9d39fcb75935
tree618c4739ebd575009f5fb34cbcb34ce2cd3776c1
parent9fec9f8ea51c782d58a8b86f8e868fc06c782386
lib/zlib: DFLTCC support inflate with small window

There is no hardware control for DFLTCC window size.  After this change,
software and hardware window formats no longer match: the software will
use wbits and wsize, and the hardware will use HB_BITS and HB_SIZE.

Since neither dictionary manipulation nor internal allocation functions
are relevant to kernel zlib and zlib_inflate_workspacesize() always use
MAX_WBITS for window size calculation, only dfltcc_can_inflate() and
dfltcc_inflate() functions are affected by this patch.

This commit is based on:
  https://github.com/zlib-ng/zlib-ng/commit/3eab317

Link: https://lkml.kernel.org/r/20230126131428.1222214-8-zaslonko@linux.ibm.com
Signed-off-by: Mikhail Zaslonko <zaslonko@linux.ibm.com>
Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/zlib_dfltcc/dfltcc_inflate.c