gpu: ion: Fix bug in zeroing pages in system heap
authorRebecca Schultz Zavin <rebecca@android.com>
Fri, 13 Dec 2013 22:24:20 +0000 (14:24 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2013 16:55:40 +0000 (08:55 -0800)
Pages are zeroed for security purposes when returned to the
ion heap.  There was a bug in this code preventing this
from happening.

Bug: 7573871
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
[jstultz: modified patch to apply to staging directory]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/android/ion/ion_system_heap.c

index df08469..9327a32 100644 (file)
@@ -103,7 +103,7 @@ static void free_buffer_page(struct ion_system_heap *heap,
                   security.  This uses vmap as we want to set the pgprot so
                   the writes to occur to noncached mappings, as the pool's
                   purpose is to keep the pages out of the cache */
-               for (i = 0; i < order / PAGE_SIZE; i++) {
+               for (i = 0; i < (1 << order); i++) {
                        struct page *sub_page = page + i;
                        void *addr = vmap(&sub_page, 1, VM_MAP,
                                          pgprot_writecombine(PAGE_KERNEL));