Przeglądaj źródła

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 lat temu
rodzic
commit
59de2bebab
1 zmienionych plików z 2 dodań i 2 usunięć
  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;