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 df084695221b977a94bb6f0110c4b9708aad51db..9327a320a960f17e1cf0d70f819ac6fed173d978 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));