From nobody Tue Jun 16 11:19:14 2026 Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DD96818BC3D for ; Sun, 19 Apr 2026 12:34:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776602071; cv=none; b=bBk/HBhbWcYswr/+Rtsk5kNckXP+by9Ryf9+rjV1jrcWSHy0TfOD6T2qOO2IJiVDpIeJhbJQGkPi5UL3hWhJ1xQIKJ6zy2tqrdZT+c3wjRWNPz54QmEd1LyEucRyOFXFDu3DufXeVxV14SAJ0ITRQ40a89RTgJsYwf4bOYm1MH8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776602071; c=relaxed/simple; bh=lMPOAmklU1lxJng2NRvHaM5aScwdnjgz/Bc0ecvywvM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=VNeyJCMAfHug/mcwJpixQxvmYkonxwjKI69tnSmYLGrAU1NFV6BKLGAxbB8aaR8pOKwShKPPn+M++L/lo8OH5CEz7P7Ru7EQSCAsuiqpbEZ5d9dvXcGDwON5JVn3CnXdDaypBBnKS6QzBFSzHV2Hr2z0BJA/aL9zZgR+ZuRcq5A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=qtuzKDu8; arc=none smtp.client-ip=209.85.167.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="qtuzKDu8" Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-5a4053964e3so2473482e87.2 for ; Sun, 19 Apr 2026 05:34:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776602068; x=1777206868; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=gM1EdLz25xMxq7KWz/gr6KVdtP5MCF2ctzI+OwtySv0=; b=qtuzKDu80GJxzBW9KXyQOpTNYiXwVyIHX1tvDMqnhQ1oU8cT9l+YC4NNmkqmbd+Uni XCmXY48uy8hSnJ5MeYUf9sGjWMhrx27AeXDM7qFuhr+hKRKBXKa7F304jxKnpgUuKY0a Gc+uAyxlAGHHxY8Tv5I12Ld7r9JOoFy5yfz8Kq5cJ9q4bTXVNMOMX+Zb8QcOa4UacdoV LaGEwmEdyOcpe/QruCc9zPipS0RNHzEmlVbEyZD5N+qOu6ybu0iXmLNOjqskcoufw/dt 9S1UADtgf4AmxMHfkYBszpPw/HqzUE5p8z6dtK8EIRXIxaSxOTgUhE1GEJsOFOmTTMI7 iuTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776602068; x=1777206868; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=gM1EdLz25xMxq7KWz/gr6KVdtP5MCF2ctzI+OwtySv0=; b=Cp4iXu6HSqY1JS7HkRe961FI/9TlLEYfxAr3xXzzAZeVK87rCMRU4fUtPL2OV4+Hpv FtfRv9S3ezW3t+gh+XPe/zR0iqKlR1SV06kIO5tFvZXOUNdrL0UZzCcXBLNmWZi4oP4E zSkXyfMetTCBFOndh2elE6M8kRNUTriRoKh9UucpRUfsBhQH1El4s/V+LnvH6MT3IkYh tAwzpPoi0mjoEozhLQJ2Jyg3rtmEXNeOT8+9fQqpW4/nxZGTvPXYpgVaR9G0aFv6zm/t w3J3XItgSgFMMFy56sNRUN4AegfmCbApf/sflyVZ/qtzQwpnh/pL2P9f+dp8FY4wxav4 OoVA== X-Gm-Message-State: AOJu0YwbOyR2qrnulCvtM30BG26wyuMtBERD8LB2De9LHYteu60q9eDJ RzMd+0WQAScJyqwA5dQsWyxsr9n7iGnAGeqVqw63BFWdjkJjf6NUaikJZE1CI3BJrPhVAw== X-Gm-Gg: AeBDiesbOFage+XPho//CO+pTmO6I99oMp2icYOekyutSeSG0Hot4EW3u5T0QRH4Ert 0PWgS8X2PQF2Dkl1XdM3/1X88ww3DxZqph0gksAF7cmKw6rxUSj0ZBAbGYf+jtBojNbb4vrmsfm vdvC9KFUBYZES8pcka6mujl9PhgAyNEdgMC/F+Lq/8BemMbO6+Wi44g7hCtJ0Zq+M5o5F3hB1Tx 7ATHBUIMMJWhpOfCoBZncbWOl9e5HUD/bBqFVlwDfcEPOeUUJwXs/VN4pBoqNcnitSDbrTKu5DH kbFtaCjfWdOsCd/KgptlTMPvg41E/LGitBcc6ONWybN1PdtEIFqUyLcKnS+rXAbHNdta35tah2M jPPSLNag7retJXuTJ1nA7Mtu3jFuISrKzUksHvkX1rwpqvxyLSeeZNo9Wpe5M++vie8KdzB4YZq S+BLbzSB9T9cMegQ== X-Received: by 2002:a05:6512:b89:b0:5a2:7b74:3c60 with SMTP id 2adb3069b0e04-5a4172ddc33mr3214684e87.33.1776602067824; Sun, 19 Apr 2026 05:34:27 -0700 (PDT) Received: from ServerHive.. ([2a01:4f9:3070:1e08::2]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38ecb4f501dsm18663631fa.9.2026.04.19.05.34.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 19 Apr 2026 05:34:27 -0700 (PDT) From: Josh Law To: akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, Josh Law Subject: [PATCH] lib/decompress: track total bytes consumed with fill function Date: Sun, 19 Apr 2026 12:34:26 +0000 Message-ID: <20260419123426.2084930-1-joshlaw48@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" When using a fill function to read chunks, pos was only tracking the offset within the current buffer. It completely ignored all previously read chunks. Track the consumed bytes across chunks so we report the actual total back to the caller. Signed-off-by: Josh Law --- lib/decompress_inflate.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/decompress_inflate.c b/lib/decompress_inflate.c index e19199f4a684..f595fd4bb5b3 100644 --- a/lib/decompress_inflate.c +++ b/lib/decompress_inflate.c @@ -48,6 +48,7 @@ static int INIT __gunzip(unsigned char *buf, long len, u8 *zbuf; struct z_stream_s *strm; int rc; + size_t rcved =3D 0; =20 rc =3D -1; if (flush) { @@ -143,7 +144,7 @@ static int INIT __gunzip(unsigned char *buf, long len, =20 while (rc =3D=3D Z_OK) { if (strm->avail_in =3D=3D 0) { - /* TODO: handle case where both pos and fill are set */ + rcved +=3D strm->next_in - zbuf; len =3D fill(zbuf, GZIP_IOBUF_SIZE); if (len < 0) { rc =3D -1; @@ -180,7 +181,7 @@ static int INIT __gunzip(unsigned char *buf, long len, zlib_inflateEnd(strm); if (pos) /* add + 8 to skip over trailer */ - *pos =3D strm->next_in - zbuf+8; + *pos =3D rcved + (strm->next_in - zbuf) + 8; =20 gunzip_5: free(strm->workspace); --=20 2.43.0