From nobody Wed Apr 06 16:00:10 2022 X-Original-To: dev-commits-src-branches@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 F05471A8C265; Wed, 6 Apr 2022 16:00:10 +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 4KYTk25d8qz4YXY; Wed, 6 Apr 2022 16:00:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1649260810; 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=TRA/EZQS+9K/+fMix1nptgM5L5o2tekDn9oNmz1j+ek=; b=VTJiKrSeZ8aeYajxGaQ/dAmJ39fIv1TECIjiLI5MiLFMw/azLwsLxZJ9R+N/lYU7BvdyXn QWz8MHIbNGDmK3hplf59HQgTYS72pM7aGZ1jXOiu1FMpmR9xCrV8h5sDPZZHDaVyeu9ERL jjq0F4WYLTL5yfVf+oW9fI3UC+JDwbRccEyJs0qaOuWosabf/Gcu7SaIjEy1TYOr4Ssp60 FJQjPgsZq4jMN19FjBWV0JPyKMRdgsDC5boRvPa7V+CWn779M/H2UihPu3UzJEpbksqQ0l 2UkXZ38Q8O7F/b/ys8Nv00F+sp1aYtqH5DtQJ4Ql7yneB0R8pGT/yTk8I7vS9Q== 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 8293E1DCCA; Wed, 6 Apr 2022 16:00:10 +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 236G0AEf078187; Wed, 6 Apr 2022 16:00:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 236G0ABn078184; Wed, 6 Apr 2022 16:00:10 GMT (envelope-from git) Date: Wed, 6 Apr 2022 16:00:10 GMT Message-Id: <202204061600.236G0ABn078184@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: c43786cc3764 - stable/13 - fix integer overflow bugs in *stosbt List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c43786cc37641cef02171a3c5be5a588d850e6ab Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1649260810; 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=TRA/EZQS+9K/+fMix1nptgM5L5o2tekDn9oNmz1j+ek=; b=FIQCQG9vz1en2EpDjTszJgHQ9kRAJrG96avdrR6uJIXWXZzDT1KR8pgKp+zQJdVltYRhhf Sj1saLuEva6fpdANaco1L5GcF4eZ1bfL6r6pOPelNDAfwrfFxbAS54vhsmcPmHSLXEgV+B G2ortg5/kZg4Hs5mPMPKTASk+tcSCHui+31srdugqFOWyfzPOPdaB+TiU8NKcIUq9CUv6k Ef7E4CgddcRlLjR/KV8DMxlgPwPMGPZi9ENoXeKoOefpbQPufie8UOkb7vyf8gA4ae1L9I uLTvYFKUGsvavZBoE35LQ+LCJwGBkxE9rBsfH0ALgw1yevXvY1dJVqmSfBzrEQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1649260810; a=rsa-sha256; cv=none; b=J40orLqonU4nT8szm7SH1L4STjNamnYDQXOSMfoV4pQwaSDrvyAK6EaU0bUBbAbSZpIE07 EtjmMQaJlSl+xraRjtREgT9uW2p8XsB40uwepc4e+pmwO2vU2UvF98EQn6CeGBtO5D/a0M YY5dmNpSPIlNtovp+vqpGMxacVx0OQ3TZcjnqisrjFWhIS0eDxlbtOtjG/DGqGEA9d/nDz /6uDcwfLA2Ev/XVxUgdi524ZdgH1IH9SgazuPdeIL9PDFjjKqHMso50m4pR13qrQf9yZyi 0C7YRyNEKOdiRsUQtFV6WyZSPFxGs31j/VHzI27cf9+mYkhxIzsVFQUGeHSMpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c43786cc37641cef02171a3c5be5a588d850e6ab commit c43786cc37641cef02171a3c5be5a588d850e6ab Author: Warner Losh AuthorDate: 2022-04-06 03:35:27 +0000 Commit: Warner Losh CommitDate: 2022-04-06 15:58:30 +0000 fix integer overflow bugs in *stosbt 68f57679d660 Fixed another class of integer overflows, but introduced a boundary condition for 2-4s in ns conversion, 2-~4000s in us conversions and 2-~4,000,000s in ms conversions. This was because we bogusly used SBT_1S for the notion of 1 second, instead of the appropriate power of 10. To fix, just use the appropriate power of 10, which avoids these overflows. This caused some sleeps in ZFS to be on the order of an hour. MFC: 1 day PR: 263073 Sponsored by: Netflix Reviewed by: asomers Differential Revision: https://reviews.freebsd.org/D34790 (cherry picked from commit 4c30b9ecd47a2d92565731082a6a4f2bd1e6e051) --- sys/sys/time.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/sys/time.h b/sys/sys/time.h index 866a9e788cd0..f3a3bc99a0f2 100644 --- a/sys/sys/time.h +++ b/sys/sys/time.h @@ -207,7 +207,7 @@ nstosbt(int64_t _ns) #ifdef KASSERT KASSERT(_ns >= 0, ("Negative values illegal for nstosbt: %jd", _ns)); #endif - if (_ns >= SBT_1S) { + if (_ns >= 1000000000) { sb = (_ns / 1000000000) * SBT_1S; _ns = _ns % 1000000000; } @@ -231,7 +231,7 @@ ustosbt(int64_t _us) #ifdef KASSERT KASSERT(_us >= 0, ("Negative values illegal for ustosbt: %jd", _us)); #endif - if (_us >= SBT_1S) { + if (_us >= 1000000) { sb = (_us / 1000000) * SBT_1S; _us = _us % 1000000; } @@ -255,7 +255,7 @@ mstosbt(int64_t _ms) #ifdef KASSERT KASSERT(_ms >= 0, ("Negative values illegal for mstosbt: %jd", _ms)); #endif - if (_ms >= SBT_1S) { + if (_ms >= 1000) { sb = (_ms / 1000) * SBT_1S; _ms = _ms % 1000; }