From: Rebecca Schultz Zavin <[email protected]>

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 <[email protected]>
[jstultz: modified patch to apply to staging directory]
Signed-off-by: John Stultz <[email protected]>
---
 drivers/staging/android/ion/ion_system_heap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/android/ion/ion_system_heap.c 
b/drivers/staging/android/ion/ion_system_heap.c
index df08469..9327a32 100644
--- a/drivers/staging/android/ion/ion_system_heap.c
+++ b/drivers/staging/android/ion/ion_system_heap.c
@@ -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));
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to