index: mm: Add flag to open call to populate buffer
diff --git a/libkmod/libkmod-index.c b/libkmod/libkmod-index.c
index bfabd10..ce4ad6a 100644
--- a/libkmod/libkmod-index.c
+++ b/libkmod/libkmod-index.c
@@ -654,9 +654,11 @@
 	free(node);
 }
 
-struct index_mm *index_mm_open(struct kmod_ctx *ctx, const char *filename)
+struct index_mm *index_mm_open(struct kmod_ctx *ctx, const char *filename,
+								bool populate)
 {
 	int fd;
+	int flags;
 	struct stat st;
 	struct index_mm *idx;
 	struct {
@@ -681,9 +683,12 @@
 		goto fail;
 	}
 
-	if ((idx->mm = mmap(0, st.st_size, PROT_READ,
-				MAP_PRIVATE | MAP_POPULATE,
-				fd, 0)) == MAP_FAILED) {
+	flags = MAP_PRIVATE;
+	if (populate)
+		flags |= MAP_POPULATE;
+
+	if ((idx->mm = mmap(0, st.st_size, PROT_READ, flags, fd, 0))
+							== MAP_FAILED) {
 		ERR(ctx, "%m\n");
 		goto fail;
 	}