mirror of
https://github.com/opnsense/src.git
synced 2026-02-18 18:20:26 -05:00
loader/libofw: Fix disk size truncation
At present OF_ioctl first multiplies, then casts to 64-bit, meaning at the asm level it truncates the result to 32-bit, then zero-extends it to 64-bit to return. Cast `n` to 64-bit before multiplying, so that the correct result is returned. (cherry picked from commit cd6e526e268e4fdf1c9a65b9d792e67343f52307)
This commit is contained in:
parent
57ca2848c0
commit
d6a4e48429
1 changed files with 1 additions and 1 deletions
|
|
@ -174,7 +174,7 @@ ofwd_ioctl(struct open_file *f, u_long cmd, void *data)
|
|||
case DIOCGMEDIASIZE:
|
||||
block_size = OF_block_size(dev->d_handle);
|
||||
n = OF_blocks(dev->d_handle);
|
||||
*(uint64_t *)data = (uint64_t)(n * block_size);
|
||||
*(uint64_t *)data = ((uint64_t)n * block_size);
|
||||
break;
|
||||
default:
|
||||
return (ENOTTY);
|
||||
|
|
|
|||
Loading…
Reference in a new issue