Просмотр исходного кода

agp: zero pages before sending to userspace

AGP pages might be mapped into userspace finally, so the pages should be
set to zero before userspace can use it. Otherwise there is potential
information leakage.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Shaohua Li 16 лет назад
Родитель
Сommit
59de2bebab
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      drivers/char/agp/generic.c

+ 2 - 2
drivers/char/agp/generic.c

@@ -1226,7 +1226,7 @@ int agp_generic_alloc_pages(struct agp_bridge_data *bridge, struct agp_memory *m
 	int i, ret = -ENOMEM;
 	int i, ret = -ENOMEM;
 
 
 	for (i = 0; i < num_pages; i++) {
 	for (i = 0; i < num_pages; i++) {
-		page = alloc_page(GFP_KERNEL | GFP_DMA32);
+		page = alloc_page(GFP_KERNEL | GFP_DMA32 | __GFP_ZERO);
 		/* agp_free_memory() needs gart address */
 		/* agp_free_memory() needs gart address */
 		if (page == NULL)
 		if (page == NULL)
 			goto out;
 			goto out;
@@ -1257,7 +1257,7 @@ void *agp_generic_alloc_page(struct agp_bridge_data *bridge)
 {
 {
 	struct page * page;
 	struct page * page;
 
 
-	page = alloc_page(GFP_KERNEL | GFP_DMA32);
+	page = alloc_page(GFP_KERNEL | GFP_DMA32 | __GFP_ZERO);
 	if (page == NULL)
 	if (page == NULL)
 		return NULL;
 		return NULL;