From f54a65c69be700c5a07ddf53022d72cec5679013 Mon Sep 17 00:00:00 2001 From: Mark Janes Date: Fri, 19 Feb 2021 18:18:43 -0800 Subject: [PATCH] intel: check setuid before writing output file in INTEL_MEASURE Without this check, the INTEL_MEASURE environment variable could be misused to overwrite arbitrary files. Fixes: 0f4143ec378 ("intel: Print GPU timing data based on INTEL_MEASURE") Reviewed-by: Kenneth Graunke Part-of: --- src/intel/common/intel_measure.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/intel/common/intel_measure.c b/src/intel/common/intel_measure.c index 51c2145ff18..2c46eb82bd8 100644 --- a/src/intel/common/intel_measure.c +++ b/src/intel/common/intel_measure.c @@ -40,6 +40,7 @@ #include "dev/gen_device_info.h" #include "util/debug.h" #include "util/macros.h" +#include "util/u_debug.h" static const struct debug_control debug_control[] = { @@ -100,7 +101,7 @@ intel_measure_init(struct intel_measure_device *device) *sep = '\0'; } - if (filename) { + if (filename && !__check_suid()) { filename += 5; config.file = fopen(filename, "w"); if (!config.file) {