CHROMIUM: tracing: fix race condition reading saved tgids

Commit 939c7a4f04fc ("tracing: Introduce saved_cmdlines_size file")
introduced ability to change saved cmdlines size. This resized saved
command lines but missed resizing tgid mapping as well.

Another issue is that when the resize happens, it removes saved command
lines and reallocates new memory for it. This introduced a race
condition when reading the global savecmd as this can be freed in the
middle of accessing it causing a use after free access. Fix this by
implementing locking.

Signed-off-by: Adrian Salido <salidoa@google.com>
Bug: 36007735
(cherry picked from commit 7116d306da66de0de21e982024b4d3a3056f4461)
Signed-off-by: Bernie Thompson <bhthompson@google.com>

BUG=b:64448309
TEST=None

Change-Id: I334791ac35f8bcbd34362ed112aa624275a46947
Reviewed-on: https://chromium-review.googlesource.com/615745
Commit-Ready: Bernie Thompson <bhthompson@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
1 file changed