target/s390x: fix adj_len_to_page
adj_len_to_page doesn't return the correct result when the address is already page aligned and the length is bigger than a page. Fix that. Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Message-Id: <20170531220129.27724-20-aurelien@aurel32.net> Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
5c2b48a8f0
commit
22f04c3198
@ -61,7 +61,7 @@ static inline uint32_t adj_len_to_page(uint32_t len, uint64_t addr)
|
||||
{
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
if ((addr & ~TARGET_PAGE_MASK) + len - 1 >= TARGET_PAGE_SIZE) {
|
||||
return -addr & ~TARGET_PAGE_MASK;
|
||||
return -(addr | TARGET_PAGE_MASK);
|
||||
}
|
||||
#endif
|
||||
return len;
|
||||
|
Loading…
Reference in New Issue
Block a user