diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 066355673930342a1b5e839950cbd1186ed6c24b..ea3e2bdf1825dcdc88e2237842e2b5f5ca99decf 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -2113,8 +2113,10 @@ static void read_dump(const char *fname, unsigned int kernel)
 		s->preloaded = 1;
 		sym_update_crc(symname, mod, crc, export_no(export));
 	}
+	release_file(file, size);
 	return;
 fail:
+	release_file(file, size);
 	fatal("parse error in symbol dump file\n");
 }