Sfoglia il codice sorgente

drm/etnaviv: don't invoke OOM killer from dump code

The dumper is only a debugging aid so we don't want to invoke the OOM
killer if buffer for the potentially large GPU state can't be vmalloced.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Lucas Stach 8 anni fa
parent
commit
172dbac35e
1 ha cambiato i file con 2 aggiunte e 1 eliminazioni
  1. 2 1
      drivers/gpu/drm/etnaviv/etnaviv_dump.c

+ 2 - 1
drivers/gpu/drm/etnaviv/etnaviv_dump.c

@@ -160,7 +160,8 @@ void etnaviv_core_dump(struct etnaviv_gpu *gpu)
 	file_size += sizeof(*iter.hdr) * n_obj;
 
 	/* Allocate the file in vmalloc memory, it's likely to be big */
-	iter.start = vmalloc(file_size);
+	iter.start = __vmalloc(file_size, GFP_KERNEL | __GFP_HIGHMEM |
+			       __GFP_NOWARN | __GFP_NORETRY, PAGE_KERNEL);
 	if (!iter.start) {
 		dev_warn(gpu->dev, "failed to allocate devcoredump file\n");
 		return;