Use readable_or_pagefault

This commit is contained in:
Fabian 2020-12-31 19:14:31 -06:00
parent 1c78a09c93
commit fea30501db

View file

@ -2269,8 +2269,7 @@ pub unsafe fn test_privileges_for_io(port: i32, size: i32) -> bool {
}
pub unsafe fn popa16() {
return_on_pagefault!(translate_address_read(get_stack_pointer(0)));
return_on_pagefault!(translate_address_read(get_stack_pointer(15)));
return_on_pagefault!(readable_or_pagefault(get_stack_pointer(0), 16));
write_reg16(DI, pop16().unwrap());
write_reg16(SI, pop16().unwrap());
@ -2283,8 +2282,7 @@ pub unsafe fn popa16() {
}
pub unsafe fn popa32() {
return_on_pagefault!(translate_address_read(get_stack_pointer(0)));
return_on_pagefault!(translate_address_read(get_stack_pointer(31)));
return_on_pagefault!(readable_or_pagefault(get_stack_pointer(0), 32));
write_reg32(EDI, pop32s().unwrap());
write_reg32(ESI, pop32s().unwrap());