compiler_wrapper: Fix rusage_flag permission error

Seeing permission errors in builder bots that create rusage_flags.
We need to set the Umask to 0 during creation of the directory.

BUG=chromium:1156314
TEST=None

Change-Id: I667d922762c2cb090adbb3abac2d4782bc48b87d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2597478
Reviewed-by: George Burgess <gbiv@chromium.org>
Reviewed-by: Tiancong Wang <tcwang@google.com>
Tested-by: Ryan Beltran <ryanbeltran@chromium.org>
Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org>
diff --git a/compiler_wrapper/rusage_flag.go b/compiler_wrapper/rusage_flag.go
index f43d351..31ff0d1 100644
--- a/compiler_wrapper/rusage_flag.go
+++ b/compiler_wrapper/rusage_flag.go
@@ -76,6 +76,11 @@
 	maxMemUsed := rusageAfter.Maxrss
 	absCompilerPath := getAbsCmdPath(env, compilerCmd)
 
+	// We need to temporarily set umask to 0 to ensure 777 permissions are actually 777
+	// This effects builderbots in particular
+	oldMask := syscall.Umask(0)
+	defer syscall.Umask(oldMask)
+
 	if err := os.MkdirAll(filepath.Dir(logFileName), 0777); err != nil {
 		return 0, wrapErrorwithSourceLocf(err, "error creating rusage log directory %s", logFileName)
 	}