Message ID | 1387293974-24718-14-git-send-email-quintela@redhat.com |
---|---|
State | New |
Headers | show |
On 12/17/2013 05:25 PM, Juan Quintela wrote: > Signed-off-by: Juan Quintela <quintela@redhat.com> > Reviewed-by: Eric Blake <eblake@redhat.com> > --- > include/exec/memory-internal.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h > index b58010f..d09d6d8 100644 > --- a/include/exec/memory-internal.h > +++ b/include/exec/memory-internal.h > @@ -43,6 +43,7 @@ void qemu_ram_free_from_ptr(ram_addr_t addr); > static inline bool cpu_physical_memory_get_dirty_flag(ram_addr_t addr, > unsigned client) > { > + assert(client < DIRTY_MEMORY_NUM); > return ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] & (1 << client); > } > > @@ -74,6 +75,7 @@ static inline int cpu_physical_memory_get_dirty(ram_addr_t start, > static inline void cpu_physical_memory_set_dirty_flag(ram_addr_t addr, > unsigned client) > { > + assert(client < DIRTY_MEMORY_NUM); > ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] |= (1 << client); > } > > @@ -89,6 +91,8 @@ static inline int cpu_physical_memory_clear_dirty_flag(ram_addr_t addr, > { > int mask = ~(1 << client); > > + assert(client < DIRTY_MEMORY_NUM); > + > return ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] &= mask; > } > Reviewed-by: Orit Wasserman <owasserm@redhat.com>
diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h index b58010f..d09d6d8 100644 --- a/include/exec/memory-internal.h +++ b/include/exec/memory-internal.h @@ -43,6 +43,7 @@ void qemu_ram_free_from_ptr(ram_addr_t addr); static inline bool cpu_physical_memory_get_dirty_flag(ram_addr_t addr, unsigned client) { + assert(client < DIRTY_MEMORY_NUM); return ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] & (1 << client); } @@ -74,6 +75,7 @@ static inline int cpu_physical_memory_get_dirty(ram_addr_t start, static inline void cpu_physical_memory_set_dirty_flag(ram_addr_t addr, unsigned client) { + assert(client < DIRTY_MEMORY_NUM); ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] |= (1 << client); } @@ -89,6 +91,8 @@ static inline int cpu_physical_memory_clear_dirty_flag(ram_addr_t addr, { int mask = ~(1 << client); + assert(client < DIRTY_MEMORY_NUM); + return ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] &= mask; }