diff --git a/acpid/src/acpi.rs b/acpid/src/acpi.rs index bce1f2f6e0..9bd620ef6d 100644 --- a/acpid/src/acpi.rs +++ b/acpid/src/acpi.rs @@ -191,7 +191,7 @@ impl Sdt { while left > 0 { let to_copy = std::cmp::min(left, length_per_iteration); - let additional_pages = PhysmapGuard::map(offset, length_per_iteration)?; + let additional_pages = PhysmapGuard::map(offset, to_copy.div_ceil(PAGE_SIZE))?; loaded.extend(&additional_pages[..to_copy]); diff --git a/acpid/src/main.rs b/acpid/src/main.rs index d94f762938..47a4cd5cbd 100644 --- a/acpid/src/main.rs +++ b/acpid/src/main.rs @@ -1,4 +1,4 @@ -#![feature(if_let_guard)] +#![feature(if_let_guard, int_roundings)] use std::convert::TryFrom; use std::io::{self, prelude::*};