[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] target-s390x: Only access allocated storage key
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH] target-s390x: Only access allocated storage keys |
Date: |
Thu, 4 Jun 2015 07:14:37 +0200 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On 2015-06-04 00:52, Alexander Graf wrote:
> We allocate ram_size / PAGE_SIZE storage keys, so we need to make sure that
> we only access that many. Unfortunately the code can overrun this array by
> one, potentially overwriting unrelated memory.
>
> Fix it by limiting storage keys to their scope.
>
> Signed-off-by: Alexander Graf <address@hidden>
> ---
> target-s390x/mmu_helper.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target-s390x/mmu_helper.c b/target-s390x/mmu_helper.c
> index e8dcd0c..815ff42 100644
> --- a/target-s390x/mmu_helper.c
> +++ b/target-s390x/mmu_helper.c
> @@ -358,7 +358,7 @@ int mmu_translate(CPUS390XState *env, target_ulong vaddr,
> int rw, uint64_t asc,
> /* Convert real address -> absolute address */
> *raddr = mmu_real2abs(env, *raddr);
>
> - if (*raddr <= ram_size) {
> + if (*raddr < ram_size) {
> sk = &env->storage_keys[*raddr / TARGET_PAGE_SIZE];
> if (*flags & PAGE_READ) {
> *sk |= SK_R;
Reviewed-by: Aurelien Jarno <address@hidden>
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
address@hidden http://www.aurel32.net