msm: kgsl: Use init_utsname() instead of ustname() for kernel build info.
Using per uts namespace utsname() for kernel build information section
in snapshot dump was causing a kernel panic because it is accessing a
NULL nsproxy pointer. nsproxy was null because corresponding user task
got SIGKILL which triggered call to free_nsproxy. The patch fixes the
issue by using the global init_utsname() which is always valid.
Change-Id: I13b1b07557794a7fcedf0c9e6acfd3406fbb8989
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
diff --git a/drivers/gpu/msm/kgsl_snapshot.c b/drivers/gpu/msm/kgsl_snapshot.c
index 4b1b5bc..40d239c 100644
--- a/drivers/gpu/msm/kgsl_snapshot.c
+++ b/drivers/gpu/msm/kgsl_snapshot.c
@@ -158,8 +158,10 @@
header->osid = KGSL_SNAPSHOT_OS_LINUX_V3;
/* Get the kernel build information */
- strlcpy(header->release, utsname()->release, sizeof(header->release));
- strlcpy(header->version, utsname()->version, sizeof(header->version));
+ strlcpy(header->release, init_utsname()->release,
+ sizeof(header->release));
+ strlcpy(header->version, init_utsname()->version,
+ sizeof(header->version));
/* Get the Unix time for the timestamp */
header->seconds = get_seconds();