HomeFreeBSD

fix integer overflow bugs in *stosbt

Description

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

  1. 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

Fix overflow errors in sbttous and sbttoms

Both of these functions would overflow for very large inputs. Add tests
for them. Also, add tests for the inverse functions, *stosbt, whose
overflow errors were fixed by 4c30b9ecd47.

PR: 263073
Sponsored by: Axcient
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D34809

(cherry picked from commit 4c30b9ecd47a2d92565731082a6a4f2bd1e6e051)
(cherry picked from commit 10f44229dcd93672583ad6b6e1193a9bc9e4f7c7)

Details

Provenance
asomersAuthored on Apr 6 2022, 8:03 PM
Reviewer
asomers
Differential Revision
D34790: fix integer overflow bugs in *stosbt
Parents
rG20004b265add: fusefs: fix an undefined variable access
Branches
Unknown
Tags
Unknown