Fix a long standing off-by-one bug in the softraid crypto number of keys
authorjsing <jsing@openbsd.org>
Mon, 12 Jun 2017 14:46:00 +0000 (14:46 +0000)
committerjsing <jsing@openbsd.org>
Mon, 12 Jun 2017 14:46:00 +0000 (14:46 +0000)
commitb436e18114d3a6caac12e5bd8d807c81fc950a57
treec0c21ed5cab2a9419bf131e70f39740af359778d
parent04fc40a306a520028096acaa2ab99f66611ed7f0
Fix a long standing off-by-one bug in the softraid crypto number of keys
calculation - we allow one key per 0.5TB, which should allow up to 16TB
disks, however the disk size was treated like a block offset and shifted.
This meant that the maximum size was actually 16TB minus one block.

While here also calculate the number of keys as an absolute value, rather
than as the upper inclusive bound - adjust the logic in the associated for
and if statements to match.

ok krw@ tb@
sys/dev/softraid_crypto.c