From nobody Fri Nov 11 18:36:46 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4N86qg0lL9z4dbXb; Fri, 11 Nov 2022 18:36:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4N86qf4Tt7z3vMq; Fri, 11 Nov 2022 18:36:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1668191806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IxVWtrpXjj4iAmjf8Tm5qaVHLxrqZpez5tn/MmSY1Uw=; b=ivORLRIlvqXQ+Dx1na6cWdC/RgirGMqrogvopB0UAdGwrtruVLmWm7CbHN8LSrlU0CoGdo 1YuF8YQVJO3JwZ342EUxAtckpkAGlutjtElr1Ve5VugtaafU3XjkVgNGjH55c2wV3l1SKp 2ptmXsmz4ORVl2jrOTF68YBWW0+kAWOQt6G9CoQz6Kt8S7jQ9FGDysCaEnMN/wxb7ax5MR SktalY5jR51fDFI2MJidWJl2KmXKZliGtrg7Rl+vsFYY58sx29G2CABTwVZzBb+y9zvsrb EmnO+m+LW3SJX0Plfc486ckDDJu/W17YuH7VZXvllpFsbOgDSKn7TyYTUWpp1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1668191806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IxVWtrpXjj4iAmjf8Tm5qaVHLxrqZpez5tn/MmSY1Uw=; b=atuh6rmSqm9mhXohju66v1qSenO7IsZJVZlChgk8khrmNVnUOffhzo1tJxDL3GPMDnbyJl uuGTedbLCmCnNfOmguCdE/xwpB/wrCO7UQSymvhixI8a4djO9qGpWZiKxjMBbj8pwq17vp KkoblgvNf+Dm5wpHKav+MdVD0GzXm3v8WIkWU0GHmdhgF04DJlUjnAIgNUkkQl9vWMW83o 1oiEOlujAA7IZK0CUFajhEwjSED0NOOTRokLHU7tv/5RlX3jX8oOmwIVA6ksDdNUxODT6Z AR8stAYmpbXmZDsyV4sKYV8D5AGqR5HAEKPVNZ7V9Qs9C9HC74BHyrU26poTow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1668191806; a=rsa-sha256; cv=none; b=otyI7gGcoJ+g3chn2JsMaCtplrK7jVSNhAfpGDJj+xormtn7ufhrjJVHfzr/6ceRWN2fMg 5NWasxMPfp5APIYKWc4KNHBv7cQ3sys+ySGbPglFv2bC2VL8t6lyJNibiuR2gJ/aEQNctQ GKp10yiNRxvUxC2aZUQ6lbDrQu89h3YtW0jVDehQSxWMAU2KViogUhzg/MwVJMYvlpJkEt xneya6yavYbJDOwWuBTU0PiTOpbzkdpX2g9+kfL3jiBJYFI+oDO7VMZ8P4IXjc7h/sHDkX Mi7FKeG7BUNgx0UF+Q+XKi5Pdz+BxttYXm1zEwchihFmF0h1jwl2Bl9F3LwIRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4N86qf3PxhztLK; Fri, 11 Nov 2022 18:36:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 2ABIak5C004032; Fri, 11 Nov 2022 18:36:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 2ABIak9a004031; Fri, 11 Nov 2022 18:36:46 GMT (envelope-from git) Date: Fri, 11 Nov 2022 18:36:46 GMT Message-Id: <202211111836.2ABIak9a004031@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 44c1914ee672 - stable/13 - powerpc_nvram: Fix a bug in the adler32 checksum. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 44c1914ee672487fe19363647f787958f2e3bebb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=44c1914ee672487fe19363647f787958f2e3bebb commit 44c1914ee672487fe19363647f787958f2e3bebb Author: John Baldwin AuthorDate: 2022-10-03 23:10:41 +0000 Commit: John Baldwin CommitDate: 2022-11-11 18:18:53 +0000 powerpc_nvram: Fix a bug in the adler32 checksum. The Adler32 digest consists of two 16-bit words whose values are calculated modulo 65521 (largest prime < 2^16). To avoid two division instructions per byte, this version copies an optimization found in zlib which defers the modulus until close to the point that the intermediate sums can overflow 2^32. (zlib uses NMAX == 5552 for this, this version uses 5000) The bug is that in the deferred modulus case, the modulus was only applied to the high word (and twice at that) but not to the low word. The fix is to apply it to both words. Reviewed by: jhibbits Reported by: Miod Vallat Differential Revision: https://reviews.freebsd.org/D36798 (cherry picked from commit e0df0dce71d86796195502b923243bb6bacdcdc2) --- sys/dev/powermac_nvram/powermac_nvram.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/powermac_nvram/powermac_nvram.c b/sys/dev/powermac_nvram/powermac_nvram.c index 7c6c4d2bc8a1..bce511463d38 100644 --- a/sys/dev/powermac_nvram/powermac_nvram.c +++ b/sys/dev/powermac_nvram/powermac_nvram.c @@ -362,7 +362,7 @@ adler_checksum(uint8_t *data, int len) high = 0; for (i = 0; i < len; i++) { if ((i % 5000) == 0) { - high %= 65521UL; + low %= 65521UL; high %= 65521UL; } low += data[i];