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>
This commit is contained in:
Родитель
07f1c7a7f6
Коммит
59de2bebab
|
@ -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;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче